用Python编写一个简单的网站登录功能
发布时间:2023-12-04 13:17:20
要实现一个简单的网站登录功能,可以使用Python编写一个基于Flask框架的网站。下面是一个示例,包括创建登录页面、处理登录请求和验证用户信息的功能。
首先,需要安装Flask库,可以使用以下命令:
pip install flask
然后,创建一个Python文件,例如login.py,并使用以下代码导入必要的模块:
from flask import Flask, render_template, request, redirect, url_for
接下来,创建Flask应用:
app = Flask(__name__)
创建登录页面的路由,使用render_template函数渲染页面模板:
@app.route('/')
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 == 'password':
# 登录成功,重定向到欢迎页面
return redirect(url_for('welcome'))
else:
# 登录失败,重定向到登录页面,并显示错误消息
return redirect(url_for('login', error='登录失败,请重试!'))
创建欢迎页面的路由,这是一个需要登录才能访问的页面:
@app.route('/welcome')
def welcome():
return render_template('welcome.html')
创建一个全局错误处理的路由,用于处理登录失败时的错误消息:
@app.errorhandler(404)
def page_not_found(error):
return render_template('login.html', error=error.description)
最后,运行应用:
if __name__ == '__main__':
app.run(debug=True)
在同级目录下创建templates文件夹,并在该文件夹中创建以下文件:login.html和welcome.html。
login.html是一个简单的登录表单:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form action="/login" method="post">
<input type="text" name="username" placeholder="Username">
<br>
<input type="password" name="password" placeholder="Password">
<br>
<input type="submit" value="Login">
</form>
</body>
</html>
welcome.html是登录成功后的欢迎页面:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome!</h1>
<p>You are now logged in.</p>
</body>
</html>
现在,可以运行login.py文件,并访问http://localhost:5000来测试登录功能。输入用户名为admin,密码为password,点击登录按钮。如果用户名和密码正确,将跳转到欢迎页面。如果用户名或密码错误,将返回登录页面并显示错误消息。
这只是一个简单的网站登录功能示例,可以根据需求进行扩展和改进。
