TODO
html/css/js 를 이용한 기본틀완성
DB연동(회원가입)
python -m venv ./venv
터미널에 입력해주기
vs code로 app.py를 실행할때 sqlalchemy가 존재함에도 ModuleNotFoundError가 생겨서 구글링을 몇 번 하고 해결법을 찾았다!
'code runner' 확장프로그램을 설치하고 ctrl+shift+p로 인터프리터 설정에 들어간 후 글로벌 인터프리터로 뜨는 것을 설정하고 난 뒤 오류가 해결되었다!
내 로컬 DB가 아닌 조원이 공유한 DB를 사용하였더니 UTF8오류가 나타났다. 그래서 config.py에서 아래와 같이 수정하였더니 해결되었다.
DB_URL = f"mysql+mysqlconnector://{db['user']}:{db['password']}@{db['host']}:{db['port']}/{db['database']}?charset=utf8mb4&collation=utf8mb4_general_ci"
그리고 mysql workbench를 사용하였는데 왜인지 모르겠지만 project2b2 경로를 앞에 다음과같이 써주어야 오류없이 작동이 되더라....또 삭제할때도 백틱으로 감싸줘야 오류없이 작동이 됨.......dbeaver가 아니라서 그런건가....?
workbench라서 그런건지는 잘모르겠다.#테이블조회 SELECT * FROM project2b2.user; #데이터추가 INSERT INTO project2b2.user(email, password, name) VALUES('12', '123', '123'); #데이터 삭제 DELETE FROM `project2b2`.`user` WHERE `email`='1234';
# 회원가입
@app.route('/user/register', methods=['POST'])
def save_user():
userId = request.form['id']
password = request.form['password']
userName = request.form['name']
email = request.form['email']
sql = 'INSERT INTO project2b2.user(id, email, password, name) VALUES(%s, %s, %s, %s)'
app.database.execute(sql, (userId, email, password, userName)).lastrowid #실행한 테이블의 마지막 행 아이디를 가져옴.
return jsonify({'msg':'회원 가입 성공'})
// 회원가입한 유저정보 DB에 저장----------------------------
function save_user() {
let userId = $("#joinid").val();
let password = $("#joinpassword").val();
let userName = $("#username").val();
let email = $("#email").val();
$.ajax({
type: "POST",
url: "/user/register",
data: {
id: userId,
password: password,
name: userName,
email: email,
},
success: function (response) {
alert(response["msg"]);
window.location.reload();
},
});
}