【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模板引擎,其中的模板继承等等对我来说很新奇的知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/699613.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

性能测试------LoadRunner 详解

性能测试------LoadRunner的使用 一、什么是LoadRunner LoadRunner是一款由Micro Focus(以前是Hewlett-Packard或HP公司)开发的性能测试工具。它用于测试和分析系统在负载下的行为和性能。具体来说,LoadRunner可以模拟数千名用户同时访问应…

r语言数据分析案例26-美元兑换欧元汇率分析与研究

一、研究背景: 汇率是国际贸易和金融中最重要的价格之一,它直接影响着各国的经济利益和国际竞争力。美元兑换欧元汇率是全球最重要的汇率之一,它的波动对全球经济和金融市场都有着深远的影响。因此,对美元兑换欧元汇率的分析和研…

树莓派4B_OpenCv学习笔记5:读取窗口鼠标状态坐标_TrackBar滑动条控件的使用

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 今日学习:读取窗口鼠标状态坐标_TrackBar滑动条控件的使…

华为机考入门python3--(35)牛客35-蛇形矩阵

分类:蛇形矩阵 知识点: 取出每行中非零的数字 row [str(num) for num in matrix[i] if num ! 0] 题目来自【牛客】 def generate_snake_matrix(n):# 初始化一个NN的矩阵matrix [[0] * n for _ in range(n)] start 1# i为行,&#xf…

国内著名的四个“大模型”

关于您提到的国内四大模型,这里为您详细介绍: 文心大模型:文心大模型是百度自主研发的产业级知识增强大模型。它以创新性的知识增强技术为核心,从单模态大模型发展到跨模态,从通用基础大模型到跨领域、跨行业&#xff…

Flutter打包网络问题解决办法

问题情况":app:compileReleaseJavaWithJavac" 报错的最主要问题其实在下一句 Failed to find Build Tools revision 30.0.3,请查看自己的Android sdk版本,比如我的就是’34.0.0’版本. 解决办法: 在app/build.gradle中的android下添加,即可 buildToolsVersion 3…

理解查准率P、查全率R及Fβ度量怎么得来的

如果得到的是一组样本在两个算法上的一次预测结果,其中每个样本都被赋予了一个为正样本的概率(例如,通过逻辑回归或朴素贝叶斯分类器得到的概率估计),那么可以通过改变不同的阈值点来利用这些预测结果画出PR曲线。 如果…

SpringBoot基础配置文件

在SpringBoot当中, 所有的配置文件都将会被配置在application.preperties当中 一: 配置服务器端口 只需要在相应的properties当中输入, 修改我们的端口号即可 server.port80 二: 修改banner #设置 将我们的Banner不再进行显示, 或者是也可以让其在控制台当中显示, 或者是日…

02 DHCP原理与配置

目录 2.1 DHCP工作原理 1. 了解DHCP服务 2. 使用DHCP的好处 3. DHCP的分配方式 4. DHCP的租约过程 1. 客户机请求IP地址 2. 服务器响应 3. 客户机选择IP地址 4. 服务器确定租约 5. 重新登录 6. 更新租约 2.2 使用DHCP动态配置主机地址 2.2.1 配置DHCP服务器 1. 安装DHCP服务器…

ADS加不上路由的若干可能性与问题查找方法

文章目录 一.查询本机ip地址二. PIN ip地址 一.查询本机ip地址 用鼠标点击开始——运行(或者快捷键winR)、弹出【运行】对话框、在窗口中输入cmd,如下图所示: 输入ipconfig/all查找局域网当中的本机ip地址 在浏览器中打开百度…

Android Studio gradle下载失败

Android Studio下载Gradle插件总是出现网络超时问题。 解决办法: 替换为国内版本的镜像。 推荐使用国内腾讯的镜像: Index of /gradle/ 例如:gradle-8.0镜像: https://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip…

文案策划日常大公开:掌握这些技巧,让你工作效率翻倍

本周的工作和生活安排得满满当当,但这些看似繁重的任务,其实都是我利用碎片化时间高效完成的。 这里和大家分享一下,我是如何在这忙碌的一周中,既完成本职工作又享受生活的。 本周工作日常汇总: 1. 品牌小红薯笔记&…

观察 jvm 运行时数据区内存大小(native memory tracking)

jvm 运行时数据区 jvm 运行时数据区包括且不限于以下几个部分: 堆(heap): 用于存储对象实例和数组。堆内存的分配和释放由垃圾回收器进行管理。方法区(method area): 用于存储类的信息、静态变量、常量等。jdk 8 后方法区位于 metaspace。虚拟机栈(vm stack): 用于存储方法的…

石化加工vr中毒窒息事故培训系统开发降低了培训成本和风险。

化工行业是工伤预防工作的重点领域之一,工伤预防及安全生产整治工作任务艰巨、责任重大。为进一步强化红线意识、底线思维,深圳VR公司研发的化工VR事故警示教育系统,以其独特的沉浸式体验,为员工的安全教育开辟了新的道路。目前化…

【SWH】陆地生态系统蒸散模拟理论、蒸散估算、站点及区域尺度模拟

蒸散(又称蒸散发)估算是开展水资源管理、洪水预报、海绵城市成效评估、农业节水灌溉、水源涵养评估、生态需水评估等应用实践过程的关键环节,因此准确计算和模拟地表蒸散显得尤为重要。与此同时,蒸散也是陆地表层最重要的水循环过…

如何使用ai人工智能作诗?7个软件帮你快速作诗

如何使用ai人工智能作诗?7个软件帮你快速作诗 使用AI人工智能作诗是一种创新的写作方式,以下是一些可以帮助您快速作诗的AI人工智能软件: 1.AI创作云: 这是一个AI诗歌助手应用程序,可以根据您提供的主题或关键词生成…

Qt:QDialogButtonBox的使用

QDialogButtonBox是Qt自带的按钮箱,通过枚举QDialogButtonBox::ButtonRole可以添加Qt定义按钮,或者通过方法QDialogButtonBox::addButton添加自定义的按钮。 // 自定义按钮。 button_box_ new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonB…

冰蝎4.1webshell实验

1、基础环境 生成payload 2、default_xor_base64 HTTP 命令执行 chunked数据回包,48 3、default_xor_base64 HTTPS 命令执行 终端 文件管理 4、 default_aes https 虚拟终端 5、 default_aes http 虚拟终端

C#中的Web抓取:避免被阻挡

C# 是一种广泛应用于企业级项目和应用程序的多功能编程语言。它源自 C 系列语言,具有高效和强大的特点,使其成为任何开发人员工具包中不可或缺的一部分。 由于其广泛的应用,C# 提供了大量的工具,使开发人员能够解决复杂的解决方案…

MyBatis之工作原理,简单CRUD,一篇让你明白原理

一、MyBatis之工作原理 MyBatis是一个半自动映射框架。所谓半自动,是相对Hibernate全表映射而言的,MyBatis需要手动匹配提供POJO、SQL和映射关系。 我们知道,jdbc有四个核心对象 (1)DriverManager,用于注…