下面是一个使用Flask和SQLite数据库创建简单CRUD(创建、读取、更新、删除)应用的示例。假设我们要创建一个简单的博客系统,包含文章标题和内容。
首先安装Flask和Flask-SQLAlchemy(用于简化数据库操作):
pip install flask flask-sqlalchemy
然后创建app.py
文件:
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blog.db'
db = SQLAlchemy(app)
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
content = db.Column(db.Text, nullable=False)
pub_date = db.Column(db.DateTime, default=datetime.utcnow)
@app.route('/')
def index():
posts = Post.query.all()
return render_template('index.html', posts=posts)
@app.route('/new_post', methods=['GET', 'POST'])
def new_post():
if request.method == 'POST':
title = request.form['title']
content = request.form['content']
new_post = Post(title=title, content=content)
db.session.add(new_post)
db.session.commit()
return redirect(url_for('index'))
return render_template('new_post.html')
# 为了完整性,你还需要实现查看详细文章、编辑和删除的功能,这里略去以简化示例
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
在这个示例中:
- 首先导入所需模块,初始化Flask应用,并设置SQLite数据库连接。
- 定义一个Post模型,表示博客文章,其中包含id、title、content和pub_date字段。
/
路由用于显示所有文章列表,从数据库查询所有文章并传递给模板。/new_post
路由处理新文章的创建,如果是POST请求,则从表单获取标题和内容,创建新的Post对象并保存到数据库,最后重定向回主页面。
同时,你需要创建两个模板文件templates/index.html
和templates/new_post.html
,分别用于显示文章列表和新建文章的表单。
请根据实际情况创建相应的HTML模板,并为查看、编辑和删除文章等功能添加对应的路由和视图函数。这样你就有了一个基于Flask和SQLite的简单博客系统的雏形。
当前文章价值0.23元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)
评论已关闭!