基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL

Flask博客网站

  • 引言
  • 使用方法
  • github代码

引言

这是我的一个数据库课程设计,实现了登录、注册、管理用户、发布文章、管理文章(可发布图片、富文本)、设置及修改用户信息、评论、点赞以及收藏博客等功能。效果图如下
基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第1张图片
基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第2张图片

使用方法

  1. 配置环境
    可以使用我提供的虚拟环境,关于虚拟环境修改的问题,可以参考文章我写的这篇文章虚拟环境复制,也可以自己根据requirements.txt安装。
  2. 创建数据库
    启动MySQL服务:以管理员身份打开cmd,使用命令net start MySQL80即可启动。
    基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第3张图片

MySQL中创建一个数据库,名字自己定,然后修改RealProject\settings.py里的SQLALCHEMY_DATABASE_URI,格式为mysql+pymysql://username:[email protected]:3306/dbname,其中的username是MySQL数据库登录的用户名,password是登录密码,3306是MySQL默认的端口号,我没有修改过,如果你修改过,就改成你的,dbname就是你刚刚创建的数据库的名字。
基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第4张图片

  1. 连接数据库
    由于我们使用的是SQLAlchemy,所以需要做一些初始化设置。在vscode或者pycharmcmd终端运行如下命令
# 设置项目的flask环境变量,每次关闭项目之后再次打开,如果要用到flask命令,都需要先设置Flask环境变量
set FLASK_APP=RealProject
set FLASK_ENV=development

同步数据库,此时,你可以发现项目目录多了一个migrations的文件夹,下边的versions目录下的文件就是生成的数据库迁移文件!

flask db init

基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第5张图片
注意终端中一定要是激活了本项目的虚拟环境。(至于怎么迁移已有的虚拟环境并激活它,我前面提到了参考这篇博客虚拟环境复制)
如果说migrations文件夹已存在,那就把它删掉,然后再次运行这个指令。
然后,运行以下命令生成迁移

flask db migrate

基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第6张图片
如果出现ModuleNotFoundError: No module named '_cffi_backend'的错误,把cffi这个包卸载了,然后使用pip重装即可,pip install cffi==1.15.1 -i https://pypi.douban.com/simple/
做完这两步就完成了第一次的初始迁移操作,我们可以看数据库已经有了我们创建的模型字段!
之后,每次在新增和修改完模型数据之后,只需要执行以下两个命令即可

flask db migrate
flask db upgrade
  1. 运行flask项目
    直接使用flask run或使用python manage.py运行即可
    项目运行后,注册一个账号,如果要成为管理员,可以在数据库中手动修改is_super_user字段的值为1即可,这样就有了一个管理员,管理员可以设置其他用户为管理员。管理员需要先在标签管理中创建文章标签,然后普通用户才能在文章发表时选择标签。在个人中心,我的提问里面添加文章可以发表博客。管理员可以管理博客网站
    基于python-Flask + MySQL的博客网站 数据库课程设计 信息系统实践 Flask MySQL_第7张图片

github代码

基于python-flask的博客网站

你可能感兴趣的:(flask,python,数据库,mysql)