Flask Web开发 博客实例(一)flask框架理解

本文介绍了Flask框架的基本结构和核心组件,包括config配置管理,forms表单处理,登录界面的创建,视图函数的实现以及数据库的初步使用。通过示例详细阐述了配置类的层次结构、Jinja2模板引擎的应用、路由装饰器的使用以及SQLAlchemy的数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、关于flask框架的理解

单脚本文件编写,可以参考大神博客https://www.cnblogs.com/senlinyang/p/8341774.html
有的小伙伴不理解flask结构里面那么多包和模块,所以本篇博客主要针对 flask 整个框架的理解,将陆续添加各个细节的链接。

  • flask应用一般保存在包app中:api文件夹下是api接口相关文件,auth文件夹下是用户登录后相关文件,main文件夹下是主页面,static是一些静态文件,templates中是html文件。另外,models用来处理数据库,forms处理表单提交信息,views中是视图函数。
  • 数据库迁移脚本在migrations文件夹中。
  • 单元测试在 tests文件夹中
  • 当然还有python虚拟环境在venv,这里截图没截到

在这里插入图片描述
顶层文件下还有虚拟环境 venv,配置文件config.py,主程序 flasky.py

在这里插入图片描述
在这里插入图片描述

1.1config

应用常常需要设定多个配置,因为需要使用不同的数据库,这样才能彼此不影响。

  • 在单脚本中,我们有这样类似字典的 app.config对象
    在这里插入图片描述
  • 在项目结构中,我们使用配置类 Config。
    具有层次结构的配置类代替之前 app.config 对象;
    基类 Config 中包含通用配置;
    三个子类中, SQLALCHEMY_DATABASE_URI 变量都被指定了不同的值,这样可以用于不同的数据库。
    在这里插入图片描述
1.2 forms表单:

在注册,登录,以及博客编辑 都需要用到表单来处理提交的信息。
我们以登录界面的 class LoginForm 为例:

class LoginForm(FlaskForm):
    email = StringField('Email', validators=[DataRequired(), Length(1, 64),
                                             Email()])
    password = PasswordField('Password', validators=[DataRequired()])
    remember_me = BooleanField('Keep me logged in')
    submit = SubmitField('Log In')
1.3登录界面

处理表单的文件写好了,就要写一个登录界面了。登录界面都放在 templates 文件夹中。

模板是包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才知道。使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染,需要使用到 Jinja2 模板引擎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simone Zeng

给作者来杯咖啡吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值