
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에 값도 잘들어오는데 로그인 할 때 자꾸 비밀번호가 일치하지 않는다 하는데
코드 한번 봐주세요ㅠㅠㅠ
