位置: 编程技术 - 正文

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框架图)

  • 以前年度损益调整结转到未分配利润
  • 租赁厂房对方不租怎么办
  • 电子设备残值率的最新规定
  • 换公司后个税app上没有显示缴费记录
  • 存货造成的损失
  • 公司为员工异地调岗
  • 购入的工具应计入哪个科目?
  • 建筑工程属于开票项目吗
  • 契税与印花税能抵扣吗
  • 进项税抵扣的房租怎么算
  • 固定资产评估费计入什么会计科目
  • 手工发票何时停止使用的
  • 股权增资稀释股价会涨吗
  • 出口报关和不报关的区别
  • 0申报季末资产总额填多少
  • 怎么添加一个
  • 重置组策略命令
  • 会计差错更正处理
  • 行政单位跨年度收到发票,补付尾款会计分录
  • win10系统修改密码
  • 营改增后甲供材的账务处理
  • 公司股权分红会交税吗
  • 资金性质是什么有哪些方面
  • 阿里php面试题
  • 工商银行电子回执单怎么查看
  • web应用程序的主要组成部分
  • c++图像二值化
  • 手把手教你安装技嘉b550 master主板
  • PHP中spl_autoload_register()函数用法实例详解
  • 票据权利的取得要件
  • 税控服务费在电子税务局表一里怎么填写
  • 企业所得税年报滞纳金从哪天开始算
  • 营业外收支核算的内容有哪些?
  • MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
  • 企业有什么税收
  • 对公账户分类及区别
  • 企业的主要经营指标有哪些
  • 营业额包括成本价吗
  • 非营利组织注册
  • 常见的防暑降温药有
  • 首次购买金税盘及服务费的账务处理
  • 签合同的名称和内容
  • 资产类的会计科目有啥特点
  • 营业收入怎么确定
  • 收到进项发票不认证抵扣的会计分录
  • 出纳怎么做账
  • 如何办icp许可证
  • 销售怎么写啊
  • java程序怎么直接运行
  • 在sql server中触发器不具有什么类型
  • redhat安装yum
  • 微软一般什么时候活动
  • openmpi编译
  • mac怎么添加桌面
  • 开启linux系统路由转发功能的语句
  • 最小化安装centos7怎么装图形界面
  • win7和xp文件共享
  • 电脑开机蓝屏怎么解决xp系统
  • ios macos
  • windows1021h2镜像下载
  • 安装centos7安装位置没有磁盘
  • 查找临时文件的命令
  • linux系统管理命令有哪些
  • redhat linux8
  • Tutorial 4: Shaders
  • xcode怎么新建项目
  • php滚动代码
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • javascript val
  • linuxtop命令详解
  • Jquery uploadify上传插件使用详解
  • python标准库函数有哪些
  • python设颜色代码
  • 个人所得税完税证明在哪里查询
  • 成都燃气在线查询
  • 河南省地方税务局公告2017年第4号
  • 12123罚款滞纳金不能交嘛
  • 农业银行联行号查询系统官网
  • 南京国家税务局网上办税服务厅
  • 运输类税点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设