【Python】Flask问答系统Demo项目

学习视频

我是跟着知了传课学的Flask,起初了解Flask还是GPT告诉我的,现在可以说用Flask做后端是真的方便!

https://www.bilibili.com/video/BV17r4y1y7jJ

项目结构与下载

FlaskOA(项目文件夹)
│  app.py
│  config.py
│  decorators.py
│  exts.py
│  models.py
│
├─blueprints
│  │  auth.py
│  │  forms.py
│  │  qa.py
│  │  __init__.py
│  │
│  └─__pycache__
│          auth.cpython-38.pyc
│          forms.cpython-38.pyc
│          qa.cpython-38.pyc
│          __init__.cpython-38.pyc
│
├─static
│  ├─bootstrap
│  │      bootstrap.4.6.min.css
│  │
│  ├─css
│  │      detail.css
│  │      index.css
│  │      init.css
│  │
│  ├─images
│  │      avatar.jpg
│  │
│  ├─jquery
│  │      jquery.3.6.min.js
│  │
│  └─js
│          register.js
│
└─templates
      base.html
      detail.html
      index.html
      login.html
      public_question.html
      register.html

https://download.csdn.net/download/qq_35516428/89421066

初始化数据库

在项目根目录,打开命令行,切换到Flask的Anaconda环境。使用flask db init对数据库初始化,使用flask db migrate对数据库进行迁移,使用flask db upgrade对数据库进行更新。其中flask db init只需要执行一次,其他两个命令需要在models.py发生改动时执行。

Demo截图

首页

登录

注册

发布问答

查看问答及评论

总结

整体来说这个项目的思路就是使用Flask并联合Jinja2模板渲染引擎,在GET请求Flask后端路径时返回响应html文件,同样在html文件中可以通过JavaScript等手段发送POST请求到后端进行提交form的操作。

这个项目让我对Flask加深了了解,比如说Flask中的蓝图,使用SQLAlchemy(flask_sqlalchemy包)操作数据库,使用flask_mail包发送邮件,使用装饰器做一个登录检测来屏蔽未登录用户的访问。还学到了Jinja2模板引擎,其中的模板继承等等对我来说很新奇的知识。

相关推荐

  1. 多线程解决大数据批量导出问题demo

    2024-06-11 19:04:04       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 19:04:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 19:04:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 19:04:04       4 阅读
  4. Python语言-面向对象

    2024-06-11 19:04:04       7 阅读

热门阅读

  1. c语言之 **指针

    2024-06-11 19:04:04       16 阅读
  2. 008.googleNet-FashionMNIST-正确率90.510

    2024-06-11 19:04:04       20 阅读
  3. Android13 Settings 左上角箭头图标点击无效

    2024-06-11 19:04:04       15 阅读
  4. 【摘葡萄game】

    2024-06-11 19:04:04       15 阅读
  5. C++ Primer Chapter 8 The IO Library

    2024-06-11 19:04:04       8 阅读
  6. 深度学习的可微渲染

    2024-06-11 19:04:04       13 阅读
  7. Linux学习问题

    2024-06-11 19:04:04       18 阅读
  8. NAT

    NAT

    2024-06-11 19:04:04      21 阅读
  9. 享元模式

    2024-06-11 19:04:04       16 阅读
  10. css特效:对多个tag标签实现模拟地球仪特效

    2024-06-11 19:04:04       18 阅读
  11. 2024-6-11-SPECT和PET的区别是什么

    2024-06-11 19:04:04       13 阅读
  12. docker-ce 和 docker-ee介绍版本介绍

    2024-06-11 19:04:04       13 阅读