作りたいもの
・予め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から形を整えています。
解決したいこと
エラー文に対する解決策と、他の考え方などお願いします。
どうかアドバイスやコードへのレビューをお願いしたいです。
英語が苦でなければ(私は苦ですが笑)、
ログイン機能付きのブログアプリの
公式のチュートリアルがあります。
難しいかもしれないですが、とても良いチュートリアルです。
https://flask.palletsprojects.com/en/1.1.x/tutorial/
有料なら Udemy に日本語の動画があります。
こちらもログイン機能付きのブログアプリです。
おそらく公式チュートリアルを参考にして
作られたものだと思います。
まずはここからステップアップして
いってもいいのかなと思います。
Udemy はセールだと 80% off くらいになるので
その時を狙ってください笑
https://www.udemy.com/course/flask_intro/
すみません。今回求めているのはDBやSQLを使わないやり方ですので、後このチュートリアル難しくて、、、理解できなかったです。。。
回答2件
あなたの回答
tips
プレビュー