커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
코드 한번 봐주세요ㅠㅠ
undefined주차
북마크
주*정
댓글
19
추천
0
조회수
70
조회수
70
답변 완료

from datetime import datetime, timedelta

from flask import Flask

from flask import request

from flask import render_template

from flask import redirect

from flask import url_for

from flask import abort

from flask import session

from flask import flash

from pymongo import MongoClient

import certifi

import time

import math


ca = certifi.where();


client = MongoClient('mongodb+srv://test:sparta@cluster0.jetf0d5.mongodb.net/Cluster0?retryWrites=true&w=majority',tlsCAFile=ca)

db = client.regi

app = Flask(__name__)

app.secret_key = 'dfsaokwerf'

app.config["PERMANET_SESSION_LIFETIME"]=timedelta(minutes=30)



@app.route('/')

def home():

    return render_template('login.html')


@app.route("/register", methods=["GET", "POST"])

def member_register():

    if request.method=="POST":

        name = request.form.get("name", type=str)

        email = request.form.get("email", type=str)

        pwd = request.form.get("pwd", type=str)

        pwd2 = request.form.get("pwd2", type=str)


        if name == "" or email == "" or pwd == "" or pwd2 == "":

            flash("입력되지 않은 값이 있습니다.")

            return render_template("register.html")

   

        if pwd != pwd2:

            flash("비밀번호가 일치하지 않습니다.")

            return render_template("register.html")

       

        members = db.members

        cnt = members.count_documents({"email": email})


        if cnt > 0:

            flash("중복된 이메일 주소입니다.")

            return render_template("register.html")

   

        current_time = round(datetime.utcnow().timestamp() * 1000)

        post = {

            "name":name,

            "email":email,

            "password":pwd,

            "register_date":current_time,

            "logintime":"",

            "logincount":0,

        }


        members.insert_one(post)

        return ""


    else:

        return render_template("register.html")

   

@app.route("/login", methods=["GET", "POST"])

def member_login():

    if request.method == "POST":

        email = request.form.get("email")

        password = request.form.get("pwd")


        members = db.members

        data = members.find_one({"email":email})


        if data is None:

            flash("회원 정보가 없습니다.")

            return redirect(url_for("member_login"))

        else:

            if data.get("pwd") == password:

                session["email"] = email

                session["name"] = data.get("name")

                session["id"] = str(data.get("_id"))


                session.permanent = True

                return redirect(url_for("lists"))

            else:

                flash("비밀번호가 일치하지 않습니다.")

                return redirect(url_for("member_login"))

    else:

        return render_template("login.html")



               

if __name__ == "__main__":

    app.run(host='0.0.0.0', debug=True, port=5000)


DB에 값도 잘들어오는데 로그인 할 때 자꾸 비밀번호가 일치하지 않는다 하는데

코드 한번 봐주세요ㅠㅠㅠ

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴