이 곳은 응용 프로그램의 경로에 대한 청사진을 사용하여 등록해야하기 때문에 식물의 기능의 사용, 청사진을 사용
복귀 또한 JSON 정보 인 JSON위한 데이터 수집 프런트 엔드
auth.py
수입 functools 에서 플라스크 오기 ( 청사진 g, jsonify 요청, 세션 ) 에서 werkzeug.security의 수입 check_password_hash, generate_password_hash 에서 app.db 오기 get_db BP = 청사진 ( " 인증 " , __name__ , url_prefix = ' / 인증 ' ) @bp. 행 ( ' / 등록 " (= 방법 " GET " , " POST " )) DEF (레지스터) 만약 request.method == ' POST ' : stu_id = request.json [ ' stu_id ' ] 자명 = request.json [ ' 이름 ' ] 암호 = request.json [ ' 암호 ' ] dB = get_db () 에러 = 없음 경우 되지 이름 : 오류 = ' 사용자 이름이 필요합니다. ' ELIF 하지 비밀번호 : 오류 =' 비밀번호가 필요합니다. ' ELIF db.execute ( ' SELECT는 사용자 이름 = 사용자의 stu_id? ' , (사용자 이름) ) .fetchone는 () 입니다 하지 없음 : 오류 = ' 이미 등록 된 사용자 {}. ' .format (사용자 이름) 반환 jsonify ({ ' MSG ' : ' 오류 ' }) 경우 오류가 없습니다 없음 : db.execute ( ' ??? INSERT INTO 사용자 (stu_id, 사용자 이름, 암호) 가치 (,,) ', (stu_id, 사용자 이름, generate_password_hash (비밀번호)) ) db.commit () 반환 ({jsonify ' MSG ' : ' . 등록의 성공을 ' }) 반환 jsonify ({ ' MSG ' : 없음}) @ bp.route ( ' / 로그인 ' , = 메소드 ( " GET " , " POST " )) DEF 로그인 () : 만약 request.method == ' POST ' : stu_idrequest.json = [ ' stu_id ' ] 암호 = request.json [ ' 암호 ' ] dB = get_db () 에러 = 없음 사용자 = db.execute ( ' 사용자로부터 선택 * = WHERE stu_id를? ' , (stu_id) ). 대하여 fetchone () 만약 사용자가 있다 : 없음 에러 = ' 잘못된 stu_id. ' ELIF 하지 (사용자 [check_password_hash ' 암호 ', 패스워드) : 오류 = ' 잘못된 비밀번호. ' 돌아 jsonify ({ ' ERR은 ' : ' 로그인 실패 ' }) 경우 오류가 있습니다 : 없음 session.clear () [세션 ' 이름 ' ] = 사용자 [ ' 이름 ' ] 반환 jsonify ({ ' MSG ' : ' 로그인 성공. ' }) 반환 ({jsonify ' MSG를 ': 없음}) @ bp.before_app_request DEF load_logged_in_user () stu_id =에 Session.get ( ' stu_id ' ) 경우 stu_id가 있다 : 없음 g.user = 없음 다른 : g.user = . get_db () 실행 ( " 사용자로부터 SELECT * 없음 WHERE stu_id =? ' (stu_id는) ) .fetchone () @ bp.route ( ' / 로그 아웃 ' ) DEF : 로그 아웃 () session.clear () 반환 ({jsonify ' MSG를 ': ' 로그 아웃 성공 ' })
등록을 완료하려면 여기에 로그인, 학습 과정은 나중에 수확을 기록됩니다