请帮我实现一个简单的登录demo
时间: 2023-08-01 22:11:14 浏览: 37
好的,下面是一个简单的登录demo,使用了Flask框架和Jinja2模板引擎:
1. 首先,安装Flask框架和Jinja2模板引擎。
2. 在项目目录下创建一个名为app.py的Python文件,然后将以下代码复制到文件中:
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
if username == 'admin' and password == 'admin':
return redirect(url_for('success'))
else:
return redirect(url_for('index'))
@app.route('/success')
def success():
return 'Logged in successfully!'
if __name__ == '__main__':
app.run(debug=True)
```
该代码创建了一个名为app的Flask应用程序,包含三个路由函数:
- index:该路由函数返回一个名为index.html的模板,该模板包含一个简单的登录表单。
- login:该路由函数接收来自登录表单的POST请求,检查用户名和密码是否正确,并将用户重定向到success路由或index路由。
- success:该路由函数返回一个简单的成功消息,表示用户已经成功登录。
3. 在项目目录下创建一个名为templates的文件夹,然后在该文件夹下创建一个名为index.html的模板文件,将以下代码复制到文件中:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form action="{{ url_for('login') }}" method="post">
<label>Username:</label>
<input type="text" name="username"><br><br>
<label>Password:</label>
<input type="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
```
该模板文件包含一个简单的登录表单,该表单将用户名和密码作为POST请求发送到login路由。
4. 运行应用程序。在终端中,进入项目目录,然后运行以下命令:
```
python app.py
```
5. 在浏览器中访问http://localhost:5000/,您将看到一个简单的登录表单。输入用户名和密码,然后单击“登录”按钮。如果用户名和密码正确,则将重定向到成功页面,否则将重定向到登录页面。