明日学習団制作チャレンジ6期(3)


#コード開発ログの冒頭の一言
  • ログイン!
  • #開発作業内容
    [今日の目標]
    1.ログイン時にDBにあるかどうかを確認する
    [ディスカッションの内容]
  • お気に入りを実装するには何が必要ですか?
  • 仕事中の話題/悩み...そして解決した問題
  • ログイン後indexとなります.html「ログイン」ボタン「ログアウト」ボタンに変更します./dbに情報があるかどうかを確認します.
  • 「jinja」を利用
    index.html
    
    {% if session['user_id'] %}
    	<li><a href="/my">마이페이지</a></li>
    	<li><a href="/logout">로그아웃</a></li>    
    {% else %}
    	<li><a href="/login">로그인</a></li>
    {% endif %}
    register.js
    
    function id_check(id) {
    	id =  $("#username").val()
    	window.open("", "", "width=600, height=200, left=100, top=100");
    }
    
    function change_email() {
    	var email_add = document.getElementById("email_add");
    	var email_sel = document.getElementById("email_sel");
    
    	var idx = email_sel.options.selectedIndex;
    	var val = email_sel.options[idx].value;
    
    	email_add.value = val;
    }
    
    app.py
    
    @app.route("/login/check", methods=["POST"])
    def login():
        userid_receive = request.form["userid_give"]
        userpw_receive = request.form["userpw_give"]
    
        try:
            target = db.users.find_one(
                {"user_id": userid_receive, "user_pw": userpw_receive}, {"_id": False}
            )
        except Exception as e:
            return {"message": "failed to login"}, 401
    
        if target is not None:
            session["user_id"] = target.get("user_id")
        return {"user_data": target}, 200
    
    @app.route("/logout", methods=["GET"])
    def logout():
        session.pop("user_id", None)
        return redirect(url_for("init"))
    #To-do List
    お気に入り機能の実装
    詳細はjinja