TODO
기본api에 있는 요소는 다 적용완료
login
칸을 채우지않으면 로그인/회원가입불가
이메일 유효성체크와 중복체크post
tiny editor와 연결게시판분야 추가
제목을 입력하지 않아도 db에 저장됨, 수정필- 파일올리는건 따로 설정해야한다는데 아직 잘 모르겠음(내일)
추가한 코드 중 몇개를 써두자면
// 시간설정(POST.JS)
var Target = document.getElementById("clock");
function clock() {
var time = new Date();
var year = time.getFullYear();
var month = time.getMonth();
var date = time.getDate();
var hours = time.getHours();
var minutes = time.getMinutes();
var seconds = time.getSeconds();
Target.innerText =
`${year}월 ${month + 1}월 ${date}일 ` +
`${hours < 10 ? `0${hours}` : hours}:${
minutes < 10 ? `0${minutes}` : minutes
}:${seconds < 10 ? `0${seconds}` : seconds}`;
}
clock();
setInterval(clock, 1000);
# 게시글 등록하기(app.py)
@app.route('/write', methods=['POST'])
def post_board():
db = pymysql.connect(
user='',
password='',
host='',
port=3306,
database='project2b2',
charset='utf8'
)
curs = db.cursor()
selectPost = request.form['category-id']
postTitle = request.form['post-title']
postContent = request.form['post-content']
userId = session['id']
# postFile = request.form['data']
# userName = request.form['name']
# print(selectPost, postTitle, postContent, userId)
sql1 = f'INSERT INTO project2b2.board(title,content,created_at,category_id,user_id) VALUES (%s, %s, NOW(), %s, %s)'
# sql2 = f'INSERT INTO project2b2.board(data) VALUES(LOAD_FILE("{postFile}"))'
curs.execute(sql1,(postTitle,postContent,selectPost,userId)) # 데이터베이스에 넣어주기 위함
# curs.execute(sql2)
db.commit() #삽입,삭제,수정할때, 최종적으로 데이터베이스를 만져줄때만
db.close()
return redirect('/')
어이없게도 curs = db.cursor()를 제대로 써주지 않아 실행이 되지않았다.......
이런 멍청한 실수때문에 같이 고생해주신 많은 분들께 감사를.....
# 회원가입
@app.route('/user/register', methods=['POST'])
def save_user():
db = pymysql.connect(
user='',
password='',
host='',
port=3306,
database='project2b2',
charset='utf8'
)
curs = db.cursor()
userId = request.form['id']
password = request.form['password']
userName = request.form['name']
email = request.form['email']
sql_check = f'select id,email,name from `user`'
curs.execute(sql_check)
result = curs.fetchall()
db.close()
list_result = list(result)
for i in range(len(list_result)):
if list_result[i][1] != email:
if '@' not in email:
return jsonify({'msg':'이메일 형식이 아닙니다.'})
else:
if list_result[i][0] == userId:
return jsonify({'msg':'동일한 아이디가 있습니다.'})
elif list_result[i][1] == email:
return jsonify({'msg':'동일한 이메일이 있습니다.'})
elif list_result[i][2] == userName:
return jsonify({'msg':'동일한 닉네임이 있습니다.'})
db = pymysql.connect(
user='',
password='',
host='',
port=3306,
database='project2b2',
charset='utf8'
)
curs = db.cursor()
userId = request.form['id']
password = request.form['password']
userName = request.form['name']
email = request.form['email']
print(userId,password,userName,email)
sql = f'INSERT INTO `user` (id, password, name, email) VALUES("{userId}", "{password}", "{userName}", "{email}");'
curs.execute(sql) # 데이터베이스에 넣어주기 위함
db.commit() #삽입,삭제,수정할때, 최종적으로 데이터베이스를 만져줄때만
db.close()
return jsonify({'msg':'회원 가입 성공'})