python flask 表单数据输出_Python Flask 学习记录(一)

1.pycharm[专业版]创建一个Flask项目(新的虚拟环境需要导入对应的包)

2.配置settings.py文件(可复用)

sqlalchemy_flask 资料:

3.创建模块包apps(目的是为了按照模块管理路由,更整洁),同时编辑启动文件app.py和apps的初始化文件__init__.py

(1) 为什么要把原来app.py中的app = Flask(__name__)单独放到模块包apps中的__init__.py中呢?

答:要保持启动文件尽量整洁干净,由于app对象需要很多配置,所以单独创建一个函数放这些配置,然后让app.py去调用函数,函数加载完配置后返回一个app对象供启动文件使用。

(2) 为什么要用manager去调用app对象来启动呢?

答:通过flask-script中的manager是为了更好的使用脚本命令来运行服务,可以自定义命令或者添加参数来启动,通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数。而不仅仅通过app.run()方法中传参,比如我们可以通过python hello.py runserver --host ip地址,告诉服务器在哪个网络接口监听来自客户端的连接。

4.创建一个第三方扩展的模块包exts,然后在__init__.py中将数据库的连接工具SQLAlchemy导入,创建db对象

5.然后在create_app()函数中初始化db,db就和app建立起关联

6.db和app建立关联后需要使用命令去管理它们之间的映射,并使用manager去添加控制db的命令,输入python3 app.py后可以查看能够使用的参数命令

7.在apps包下创建user包和其他模块的包(比如bolg的话还有article包等),然后在user包下创建view.py(路由逻辑)和models.py(数据库操作)文件

models.py文件中,类是表名,属性是字段,表名类必须继承db.Model

注意:model中的类名必须在app.py中导入这个包

8.然后在命令行中输入:python3 app.py db init 生成了migrations文件夹

9.然后使用命令:python3 app.py db migrate 在migrations/versions文件夹中生成对应的版本文件

10.使用命令:python3 app.py db upgrade 将类对应的表同步到数据库中

11.开始添加界面,先在view.py中添加蓝图

蓝图的作用就是讲每个模块的路由都划分清楚,不用都放在@app.route()上

然后在create_app()中注册蓝图

12.写HTML界面,并在view.py中使用render_template()来调用

不清楚路由名称的话可以先打印app.url_map来查看

13.注册功能实现

(1)register.html 注意表单提交使用post

(2)注册的逻辑代码

(3)注册浏览器界面

(4)注册成功后查询数据库

14.注册后跳转到用户中心并显示表单

{% if %}:控制块

{{ name }}:变量

想要使用python获取的数值,必须用render_tamplate(‘center.html’, name=name)去传参

User.query.all() <==> select * from user;

将数据库中查询的结果返回(返回的是一个user对象list),然后显示到前端的table中

15.用户登录逻辑

登录按钮点击后,把username+password去跟数据库中的数据进行匹配

User.query.filter_by(username=username) <==> select * from user where 字段=值;

User.query.filter_by(username=username).first() <==> select * from user where 字段=值 limit(1);

根据主键查询用户

User.query.get(1)

User.query.filter(User.username == ‘zhaoyan’) <==> User.query.filter(模型名.字段名 == 值)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值