用python flask框架制作一个简单的注册登陆网站。整个网站(软件或者弹出框)要具备注册登陆功能(用户名、密码和验证码),登陆成功后能成功的跳转到其他页面。 突出主题,信息分类合理,导航清晰。要求必须有自己创作的内容,这些原创内容可以是文字、图片、动画等,至少3个页面(注册页面、登陆页面、登陆跳转成功页面)
时间: 2024-02-18 12:04:54 浏览: 21
好的,我可以为您提供一些基本的代码和思路。首先,您需要安装 Flask 和 Flask-WTF 库。Flask 是一个基于 Python 的轻量级 Web 框架,而 Flask-WTF 是一个为 Flask 提供表单处理支持的库。
接下来,您可以按照以下步骤制作一个简单的注册登陆网站:
1. 导入必要的库和模块
```python
from flask import Flask, render_template, redirect, url_for, flash
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, EqualTo
```
2. 创建 Flask 应用程序对象
```python
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key_here'
```
3. 创建表单类
```python
class RegistrationForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
confirm_password = PasswordField('Confirm Password', validators=[DataRequired(), EqualTo('password')])
submit = SubmitField('Sign Up')
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
submit = SubmitField('Log In')
```
4. 创建路由和视图函数
```python
@app.route('/')
def home():
return render_template('home.html')
@app.route('/register', methods=['GET', 'POST'])
def register():
form = RegistrationForm()
if form.validate_on_submit():
# 这里可以将用户注册信息存储到数据库中
flash(f'Account created for {form.username.data}!', 'success')
return redirect(url_for('login'))
return render_template('register.html', title='Register', form=form)
@app.route('/login', methods=['GET', 'POST'])
def login():
form = LoginForm()
if form.validate_on_submit():
# 这里可以检查用户输入的用户名和密码是否正确
flash(f'Logged in as {form.username.data}!', 'success')
return redirect(url_for('success'))
return render_template('login.html', title='Login', form=form)
@app.route('/success')
def success():
return render_template('success.html')
```
5. 创建 HTML 模板
在 templates 文件夹中创建以下模板:
home.html
```html
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Welcome to my website!</h1>
<p>Please register or log in to continue.</p>
<a href="{{ url_for('register') }}">Register</a>
<a href="{{ url_for('login') }}">Log In</a>
</body>
</html>
```
register.html
```html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
<form method="POST" action="">
{{ form.hidden_tag() }}
<p>
{{ form.username.label }}<br>
{{ form.username() }}<br>
{% for error in form.username.errors %}
<span style="color: red;">{{ error }}</span>
{% endfor %}
</p>
<p>
{{ form.password.label }}<br>
{{ form.password() }}<br>
{% for error in form.password.errors %}
<span style="color: red;">{{ error }}</span>
{% endfor %}
</p>
<p>
{{ form.confirm_password.label }}<br>
{{ form.confirm_password() }}<br>
{% for error in form.confirm_password.errors %}
<span style="color: red;">{{ error }}</span>
{% endfor %}
</p>
<p>
{{ form.submit() }}
</p>
</form>
</body>
</html>
```
login.html
```html
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
<form method="POST" action="">
{{ form.hidden_tag() }}
<p>
{{ form.username.label }}<br>
{{ form.username() }}<br>
{% for error in form.username.errors %}
<span style="color: red;">{{ error }}</span>
{% endfor %}
</p>
<p>
{{ form.password.label }}<br>
{{ form.password() }}<br>
{% for error in form.password.errors %}
<span style="color: red;">{{ error }}</span>
{% endfor %}
</p>
<p>
{{ form.submit() }}
</p>
</form>
</body>
</html>
```
success.html
```html
<!DOCTYPE html>
<html>
<head>
<title>Success</title>
</head>
<body>
<h1>You have successfully logged in!</h1>
</body>
</html>
```
6. 运行应用程序
在命令行中运行以下命令启动应用程序:
```sh
export FLASK_APP=app.py
export FLASK_ENV=development
flask run
```
然后在浏览器中访问 http://127.0.0.1:5000 即可看到网站的首页。您可以点击“Register”链接注册新用户,或者点击“Log In”链接登陆已有用户。如果登陆成功,将会跳转到“Success”页面。
以上就是一个简单的注册登陆网站的代码和思路,您可以根据具体需要进行修改和优化。