如何基于python和SQLserver创建登录模块写出具体代码
时间: 2023-05-21 18:04:27 浏览: 61
可以使用 Python 的 Flask 框架和 SQL Server 数据库来创建一个简单的登录模块。以下是基本的代码示例:
```python
from flask import Flask, request, render_template, redirect, url_for
import pyodbc
app = Flask(__name__)
# 配置 SQL Server 连接信息
server = 'localhost\SQLEXPRESS'
database = 'test'
username = 'sa'
password = 'password'
# 建立 SQL Server 数据库连接
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
# 配置用户数据表
cursor = cnxn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL)")
# 用户注册页面
@app.route('/register', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
# 获取表单中提交的用户名和密码
username = request.form['username']
password = request.form['password']
# 在数据表中插入新的用户
cursor.execute("INSERT INTO users (username, password) VALUES (?, ?)", username, password)
cnxn.commit()
return redirect(url_for('login'))
return render_template('register.html')
# 用户登录页面
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
# 获取表单中提交的用户名和密码
username = request.form['username']
password = request.form['password']
# 查询数据库中是否存在该用户
cursor.execute("SELECT * FROM users WHERE username=? AND password=?", username, password)
user = cursor.fetchone()
if user:
return redirect(url_for('dashboard'))
return '用户名或密码错误'
return render_template('login.html')
# 用户控制面板页面
@app.route('/dashboard')
def dashboard():
return '欢迎来到用户控制面板'
if __name__ == '__main__':
app.run(debug=True)
```
需要在项目目录下创建以下两个 HTML 模板:
register.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
</head>
<body>
<h1>用户注册</h1>
<form method="post" action="/register">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
login.html:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<h1>用户登录</h1>
<form method="post" action="/login">
<label>用户名:</label>
<input type="text" name="username"><br>
<label>密码:</label>
<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
以上就是一个 Python 和 SQL Server 创建简单登录模块的示例代码。