下面是一个更完整的Python web框架示例,使用Flask和SQLite数据库:
pythonfrom flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
@app.route('/')
def home():
users = User.query.all()
return render_template('home.html', users=users)
@app.route('/add_user', methods=['POST'])
def add_user():
username = request.form['username']
email = request.form['email']
new_user = User(username=username, email=email)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('home'))
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
@app.route('/')
def home():
users = User.query.all()
return render_template('home.html', users=users)
@app.route('/add_user', methods=['POST'])
def add_user():
username = request.form['username']
email = request.form['email']
new_user = User(username=username, email=email)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('home'))
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
这个示例中,我们定义了一个User
模型,并在app.py
文件中进行了配置和路由定义。我们使用render_template
函数来渲染HTML模板,并使用request
对象来获取表单数据。我们还定义了一个add_user
路由,用于添加新的用户。最后,我们使用db.create_all()
创建数据库表,并运行应用程序。
你需要创建一个名为'home.html'的HTML模板文件,并在其中使用Jinja2模板引擎来显示用户列表。例如:
html<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>Welcome to the Home Page!</h1>
<ul>
{% for user in users %}
<li>{{ user.username }} - {{ user.email }}</li>
{% endfor %}
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
</head>
<body>
<h1>Welcome to the Home Page!</h1>
<ul>
{% for user in users %}
<li>{{ user.username }} - {{ user.email }}</li>
{% endfor %}
</ul>
</body>
</html>
这个示例展示了如何使用Flask和SQLite数据库创建一个完整的web应用程序。你可以根据自己的需求进行修改和扩展。
标签:__,username,框架,Python,app,db,完整,user,email From: https://blog.51cto.com/u_16237074/9150565