python 一点flask框架加一点html在本地登录注册
下面是一个简单的本地登录注册示例,使用Python的Flask框架和简单的HTML。
首先,安装Flask:
pip install Flask
然后,创建以下代码:
from flask import Flask, render_template, request, redirect, url_for, session
app = Flask(__name__)
app.secret_key = 'your_secret_key'
users = {
'admin': 'admin',
'user': 'password'
}
@app.route('/')
def index():
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 users[username] == password:
session['username'] = username
return redirect(url_for('home'))
return 'Login Failed. Please try again.'
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 'User already exists. Please login.'
users[username] = password
return redirect(url_for('login'))
return render_template('register.html')
@app.route('/home')
def home():
if 'username' in session:
return 'Hello, ' + session['username']
return redirect(url_for('login'))
if __name__ == '__main__':
app.run(debug=True)
在同一目录下创建templates
文件夹,然后在templates
文件夹中创建以下HTML文件:
index.html
:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Welcome to the Local Login Registration Example</h1>
<p>Please <a href="{{ url_for('login') }}">login</a> or <a href="{{ url_for('register') }}">register</a>.</p>
</body>
</html>
login.html
:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<form method="post">
<input type="text" name="username" placeholder="Username" required>
<input type="password" name="password" placeholder="Password" required>
<input type="submit" value="Login">
</form>
</body>
</html>
register.html
:
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
</head>
<body>
<h1>Register</h1>
<form method="post">
<input type="text" name="username" placeholder="Username" required>
<input type="password" name="password" pl
评论已关闭