使用flask框架制作登录和注册网页
时间: 2024-04-29 09:21:50 浏览: 12
好的,以下是一个简单的使用 Flask 框架制作登录和注册网页的示例代码。
首先,创建一个名为 app.py 的文件,输入以下代码:
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# 首页
@app.route('/')
def home():
return render_template('home.html')
# 登录页面
@app.route('/login')
def login():
return render_template('login.html')
# 登录处理
@app.route('/login', methods=['POST'])
def login_post():
username = request.form['username']
password = request.form['password']
# 在此处进行用户名和密码的验证
# 如果验证通过,则重定向到首页
# 否则,返回登录页面,显示错误信息
if username == 'admin' and password == 'admin':
return redirect(url_for('home'))
else:
error = '用户名或密码错误'
return render_template('login.html', error=error)
# 注册页面
@app.route('/register')
def register():
return render_template('register.html')
# 注册处理
@app.route('/register', methods=['POST'])
def register_post():
username = request.form['username']
password = request.form['password']
# 在此处进行用户名是否已经存在的验证
# 如果用户名不存在,则添加用户到数据库中
# 然后重定向到登录页面
# 否则,返回注册页面,显示错误信息
if username == 'admin':
error = '该用户名已经存在'
return render_template('register.html', error=error)
else:
# 在此处添加用户到数据库中
return redirect(url_for('login'))
if __name__ == '__main__':
app.run(debug=True)
```
上述代码定义了四个路由:
- `/`:首页,返回 home.html 模板;
- `/login`:登录页面,GET 请求返回 login.html 模板,POST 请求处理表单提交;
- `/register`:注册页面,GET 请求返回 register.html 模板,POST 请求处理表单提交。
其中登录处理和注册处理的逻辑需要根据具体情况进行修改。
接下来,创建一个名为 templates 的文件夹,用于存放模板。在 templates 文件夹下创建三个模板文件:home.html、login.html 和 register.html。这三个模板文件的代码如下:
home.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>首页</title>
</head>
<body>
<h1>欢迎访问我的网站!</h1>
<p><a href="{{ url_for('login') }}">登录</a></p>
<p><a href="{{ url_for('register') }}">注册</a></p>
</body>
</html>
```
login.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body>
<h1>登录</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post">
<p>用户名:<input type="text" name="username"></p>
<p>密码:<input type="password" name="password"></p>
<p><button type="submit">登录</button></p>
</form>
</body>
</html>
```
register.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>注册</title>
</head>
<body>
<h1>注册</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post">
<p>用户名:<input type="text" name="username"></p>
<p>密码:<input type="password" name="password"></p>
<p><button type="submit">注册</button></p>
</form>
</body>
</html>
```
最后,在命令行中运行以下命令启动 Flask 应用:
```
python app.py
```
然后在浏览器中访问 http://127.0.0.1:5000 即可看到网站首页,点击“登录”或“注册”按钮即可进入相应的页面。