作りたいもの
・予めIDを用意しておく
・ログインフォームからそのIDを入力し、一致したら次の画面に遷移
・IDが一致しなかったらエラーメッセージ表示
・sqlはつかわないで、if文だけで作りたいです。
と言うようなセキュリティはガバガバで簡単なログイン機能を作りたいです。
書いたコード
こちらのmain.pyを実行します。
python
1from flask import Flask, request,render_template 2 3app = Flask(__name__) 4 5 6password = "aaa" 7@app.route('/') 8def main(): 9 message = "Passwordを入力して下さい" 10 return render_template("main.html", message = message,password=password) 11 12@app.route("/login", methods=["POST"]) 13def login(): 14 password = request.form["password"] 15 message = "Loginしました" 16 if password == "1234": 17 return render_template("login.html",message = message) 18 else: 19 return render_template('main.html') 20 21 22if __name__ == "__main__": 23 app.run(debug=True)
次にtemplatesのログインフォーム画面です。
こちらが、main.htmlです。
html
1{% extends "layout.html" %} 2{% block content %} 3<h1>Flask Login</h1> 4<p>{{ message }}</p> 5<form action="/login" method="post"> 6 <label for="Password">Password</label> 7 <input type="password" name = "pass"> 8 <button type="submit">送信する</button> 9</form> 10{% endblock %}
次にlogin.htmlでログイン後の画面です。
html
1{% extends "layout.html" %} 2{% block content %} 3 <h1>書き込みました</h1> 4 <p>{{ message }}</p> 5 <form action="/" method="get"> 6 <button type="submit">戻る</button> 7 </form> 8{% endblock %}
それぞれlayout.htmlから形を整えています。
解決したいこと
エラー文に対する解決策と、他の考え方などお願いします。
どうかアドバイスやコードへのレビューをお願いしたいです。
回答2件
あなたの回答
tips
プレビュー