帮我写一个python Flask 用户名登陆页面
时间: 2023-03-25 13:03:54 浏览: 113
好的,我可以回答这个问题。以下是一个简单的 Python Flask 用户名登陆页面的代码示例:
```python
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return render_template('login.html')
@app.route('/login', methods=['POST'])
def login():
username = request.form['username']
password = request.form['password']
if username == 'admin' and password == 'password':
return redirect(url_for('success'))
else:
return redirect(url_for('index'))
@app.route('/success')
def success():
return '登陆成功!'
if __name__ == '__main__':
app.run(debug=True)
```
这个示例使用 Flask 框架创建了一个简单的登陆页面,当用户输入正确的用户名和密码时,会跳转到一个成功页面。你可以根据自己的需要进行修改和扩展。
相关问题
写一个Python flask可登录注册的游戏资讯网站
好的,这里提供一个简单的Python Flask可登录注册的游戏资讯网站的示例代码,你可以根据自己的需求进行修改和完善。
首先,我们需要安装Flask和Werkzeug库。可以使用以下命令进行安装:
```
pip install flask
pip install Werkzeug
```
接下来,创建一个名为app.py的Python文件,并写入以下代码:
```python
from flask import Flask, render_template, request, redirect, url_for, session
from werkzeug.security import generate_password_hash, check_password_hash
app = Flask(__name__)
app.secret_key = 'secret_key'
users = {
'admin': generate_password_hash('admin'),
'user': generate_password_hash('user')
}
@app.route('/')
def home():
return render_template('index.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username in users and check_password_hash(users[username], password):
session['username'] = username
return redirect(url_for('dashboard'))
else:
return render_template('login.html', error='Invalid username or password')
else:
return render_template('login.html')
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if username in users:
return render_template('register.html', error='Username already taken')
else:
users[username] = generate_password_hash(password)
return redirect(url_for('login'))
else:
return render_template('register.html')
@app.route('/dashboard')
def dashboard():
if 'username' in session:
return render_template('dashboard.html', username=session['username'])
else:
return redirect(url_for('login'))
@app.route('/logout')
def logout():
session.pop('username', None)
return redirect(url_for('home'))
if __name__ == '__main__':
app.run(debug=True)
```
在以上代码中,我们定义了以下路由:
- `/`:主页,显示一个简单的欢迎信息。
- `/login`:登录页面,可以提交用户名和密码进行登录。
- `/register`:注册页面,可以提交用户名和密码进行注册。
- `/dashboard`:仪表盘页面,需要登录才能访问,显示用户的用户名。
- `/logout`:注销页面,注销当前登录的用户。
我们使用了Werkzeug库提供的`generate_password_hash`和`check_password_hash`函数进行密码加密和验证,避免明文存储密码的安全风险。同时,使用了Flask的`session`对象保存用户的登录状态。
接下来,我们需要创建以下HTML模板文件:
- index.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>Game News</title>
</head>
<body>
<h1>Welcome to Game News</h1>
<a href="{{ url_for('login') }}">Login</a> |
<a href="{{ url_for('register') }}">Register</a>
</body>
</html>
```
- login.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
{% if error %}
<p style="color:red">{{ error }}</p>
{% endif %}
<form method="post">
<label>Username:</label>
<input type="text" name="username" required>
<br><br>
<label>Password:</label>
<input type="password" name="password" required>
<br><br>
<button type="submit">Login</button>
</form>
</body>
</html>
```
- register.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
{% if error %}
<p style="color:red">{{ error }}</p>
{% endif %}
<form method="post">
<label>Username:</label>
<input type="text" name="username" required>
<br><br>
<label>Password:</label>
<input type="password" name="password" required>
<br><br>
<button type="submit">Register</button>
</form>
</body>
</html>
```
- dashboard.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<h1>Welcome {{ username }}!</h1>
<a href="{{ url_for('logout') }}">Logout</a>
</body>
</html>
```
以上就是一个简单的Python Flask可登录注册的游戏资讯网站的示例代码。你可以根据自己的需求进行修改和完善。
python flask写一个登录页面
好的,下面是一个简单的登录页面的示例代码:
```python
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# 在此处添加验证用户名和密码的代码
# 如果验证通过,可以重定向到另一个页面
# 如果验证不通过,可以返回一个错误提示
return "Login successful"
return render_template('login.html')
if __name__ == '__main__':
app.run(debug=True)
```
在上面的代码中,我们使用 Flask 框架创建了一个应用程序,并定义了一个名为 `login` 的函数来处理登录页面的请求。当用户访问登录页面时,该函数会渲染一个 HTML 模板文件 `login.html`,并将其返回给用户。
当用户提交登录表单时,该函数会再次被调用,并从表单中获取用户名和密码。您需要在此处添加一些代码来验证用户名和密码,以确保用户提供的凭据是有效的。如果验证成功,则可以重定向到另一个页面;如果验证失败,则可以返回一个错误提示。
在上面的示例代码中,我们将 `debug` 参数设置为 `True`,以便在开发过程中能够轻松地调试应用程序。在生产环境中,应该将其设置为 `False`。
阅读全文