Python+Flask+MySQL/Sqlite的个人博客系统(前台+后端管理)
由于提供完整的项目源代码将超出回答字数限制,以下是一个简化版的核心功能代码示例,展示如何使用Flask和SQLite创建一个简单的个人博客系统。
from flask import Flask, render_template, request, redirect, url_for, flash
from flask_sqlalchemy import SQLAlchemy
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(80), nullable=False)
body = db.Column(db.Text, nullable=False)
def __repr__(self):
return f"Post('{self.title}', '{self.body[:15]}...')"
@app.route('/')
def index():
posts = Post.query.order_by(Post.id.desc()).all()
return render_template('index.html', posts=posts)
@app.route('/create', methods=['GET', 'POST'])
def create_post():
if request.method == 'POST':
title = request.form['title']
body = request.form['body']
post = Post(title=title, body=body)
db.session.add(post)
db.session.commit()
flash('Your post has been added!')
return redirect(url_for('index'))
return render_template('create.html')
if __name__ == '__main__':
app.run(debug=True)
这段代码展示了如何使用Flask和SQLAlchemy创建一个简单的博客系统。定义了一个Post
模型,并且有两个路由:/
用于显示博客文章列表,/create
用于创建新的博客文章。使用SQLite作为数据库,这是一个简单易用的数据库,适合初学者学习和测试。
为了保持简洁,代码中省略了模板文件(如index.html
和create.html
)的定义,这些需要你自己创建,并使用Jinja2语法渲染数据。同时,错误处理和更多功能(如登录、注册、分页等)在这里也被省略了。
评论已关闭