位置: 编程技术 - 正文

Flask框架的学习指南之制作简单blog系统(flask框架官方文档)

编辑:rootadmin

推荐整理分享Flask框架的学习指南之制作简单blog系统(flask框架官方文档),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:flask框架图,flask框架官方文档,flask框架工作原理,flask框架菜鸟教程,flask框架结构,flask框架官方文档,flask框架可以做什么,flask框架入门,内容如对您有帮助,希望把文章链接给更多的朋友!

之前写了一篇flask开发环境搭建,今天继续,进行一个实战小项目-blog系统。

blog系统很简单,只有一个页面,然后麻雀虽小五脏俱全。这里目的不是为了做项目而做项目,这篇文章本意是通过这次练习传达以下几个知识点:

1、从全局上了解flask项目的目录结构

2、flask项目的运行机制

3、flask框架实现MVC架构

4、flask-sqlalchemy 操作mysql数据库

一、新建项目:blog系统

在pycharm中,新建flask项目,如下图:

完成后的目录结构是这样的:非常简单,一个static文件夹,一个templates文件夹,一个py文件

以上的目录结构是flask初始时的结构,这个只能应对很小的项目,对于大型复杂的项目,我们需要引入包的管理,MVC架构设计。

二、目录结构重构,引入包管理

针对上面的结构,在最上层blog3目录下,

1、新建一个runserver.py文件,作为项目统一入口文件

2、新建blog文件夹,把已存在的static,templates,blog3.py移到blog文件夹下,然后分别建controller、model文件夹。把blog3.py改名为__init__.py,

现在目录如下所示:

这样就相当于一个大工程结构了:

1)最上层blog2目录是项目名称,一个项目下可以包括多个模块,也就是应用,每个应用下有自己的配置文件,初始化文件,MVC架构。

2)runserver.py:与应用模块平级,作为项目启动文件

3)第二级blog2目录:模块名称

controller目录:MVC中的C,主要存放视图函数

model目录:MVC中的M,主要存放实体类文件,映射数据库中表

templates:MVC中的V,存放html文件

static:静态文件,主要存放css,js等文件

__init__.py:模块初始化文件,Flask 程序对象的创建必须在 __init__.py 文件里完成, 然后我们就可以安全的导入引用每个包。

setting.py:配置文件,数据库用户名密码等等

三、开发代码

1、先把项目运行起来:

1) 编写__init__.py文件,创建项目对象,代码如下:

Flask框架的学习指南之制作简单blog系统(flask框架官方文档)

2) 在runserver.py文件中添加如下代码:

3)运行runserver.py文件:

然后在浏览器中输入: User.py:

2) Category.py

3)在模块目录blog2下新建setting.py文件,配置数据库连接信息

4)让项目读取配置文件

修改__init__.py:添加如下内容(红色部分):

注意:FLASKR_SETTINGS环境变量需要手工单独设置,window下可以在命令行中输入:

或者点击我的电脑-->高级-->环境变量,新建一个。

5)创建数据库和表

windows命令行模式下,cd到项目runserver.py那个目录下,进入python shell下:

输入红色部分:

如果没有任何错误输出代表创建数据库和表成功了。这时我们到数据库中去查看:

数据库已经存在了,再看看表情况:发现没有对应的b_user和b_category表。这是为什么呢?是不是没有找到model目录下的两个类呢。问题在于:__init__.py文件没有引入model包,导致__init__.py无法找到实体类。记住:一切模块对象的创建都在__init__.py中完成

在blog2目录下的__init__.py添加如下代码:

再次运行上面命令:db.create_all()方法。这时表已经创建成功了。

3、添加界面模板:如登陆页面,显示blog文章页面,添加blog页面

在templates目录下添加三个html文件:

layout.html:

login.html:

show_entries.html:

对应static中添加css文件:style.css

4、添加业务逻辑

在controller目录下新建blog_message.py文件:

千万不要忘了在模块级目录下(blog2目录)的__init__.py文件引入视图模块,代码如下:

5、运行项目,效果如下:

1)输入 in

忘了告诉你了,你要事先在b_user表中添加一个用户喔,因为登陆要验证用户的,否则你是无法登陆成功的。

3) 添加条目

标签: flask框架官方文档

本文链接地址:https://www.jiuchutong.com/biancheng/383490.html 转载请保留说明!

上一篇:Flask框架的学习指南之开发环境搭建(flask框架官方文档)

下一篇:Flask框架的学习指南之用户登录管理(flask框架图)

  • 小规模纳税人征税率为多少
  • 劳务公司计税税率
  • 税务证需要多少费用
  • 股权激励费用怎么摊销
  • 生产经营个人所得税退税流程
  • 个体户季报网上怎么报税
  • 劳务报酬和工资薪金哪个税率高
  • 活动板房怎么开发票
  • 在本公司交社保辞职了还能交吗
  • 跨地区经营企业代码表从哪里找
  • 城市维护建设税怎么做分录
  • 土地使用权入账价值包括哪些
  • 购买的二手车可以抵扣进项税额吗
  • 成本还原有什么作用
  • 现金长短款的一般处理
  • 专利费代缴
  • 计入无形资产
  • 企业销售现金折扣
  • 应交税金在贷方怎么调
  • 企业自建房转让如何交土地增值税
  • 怎么才能知道开户行行号
  • 增值税专用发票抵扣期限
  • 怎么用手撕胶带图解
  • 企业所得税汇算清缴退税账务处理
  • 全年一次性奖金税收优惠政策
  • 营业账簿印花税包括什么
  • 消费税组成计税价格成本利润率
  • 小规模纳税人计提增值税
  • 增值税发票季报
  • 研发费用需要发什么科目
  • 企业所得税是否有利于调节产业结构
  • 应收账款现金折扣计入什么科目
  • 新版Win10中,如何仅修改部分文本大小
  • 苹果电脑录屏的视频保存在哪里
  • 一般纳税人购进税控收款机抵扣
  • windows7如何制表
  • service的启动方式及生命周期
  • phpsql查询
  • Laravel5中Cookie的使用详解
  • php常用array函数
  • javascriptz
  • 【AI大比拼】文心一言 VS ChatGPT-4
  • js创建对象的三种方式
  • 固定资产实收资本按照什么入账
  • 什么是预付账款的管理重点
  • 家具采购单
  • 织梦cms怎么样
  • SQL server 2008安装程序遇到以下错误 sku
  • 委托开户银行发放上月工资
  • 开红字发票时,数量与金额必须是负数?
  • 资产负债表调整事项
  • 固定资产核销是资产损失吗
  • 利润表的期末余额怎么算出来的
  • 去年多计提的企业所得税怎么调整
  • 利息返还是什么意思
  • 怎样理解企业财务会计的定义
  • Mysql5.7在Centos6中的安装方法
  • win8.1系统升级win10
  • xp系统找不到搜索功能
  • FreeBSD5.4之apache-2.0.54+php+ZendOptimizer简单安装、设置
  • linux校验文件
  • xp系统无法预览图片
  • Windows Update XP SP3官方下载地址
  • 微软发布Win10优化工具
  • 如何判断win7
  • win7的环境变量如何还原
  • OpenGL Tutorial: (1) Setting up OpenGL with Visual Studio
  • iredmail是免费的吗
  • 在shell中获取脚本命令行参数的方法和区别
  • js模拟new
  • Python中字符串的索引
  • android socket聊天
  • python3 flask
  • genymotion-unable to load virtualbox engine
  • no android facet found
  • python程序解析
  • 江苏省增值税专用发票怎么开
  • 增值税一般纳税人和小规模纳税人的区别
  • 贤彬考研,刘磊?
  • 怎么修改税局预留号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设