flask 进阶:准备

鸽了好长时间,没有学习和更新flask web的项目 今天又开始学习
首先在项目开始之前我们要处理好包结构
一般的包结构为
举例我们将要开始的blog

blog
|____
| forms 表单包
| ------init.py
| ------xxx.py
| models 模板包
| ------init.py
| ------xxx.py
| static 静态文件包
| ------init.py
| ------xxx.css
| ------xxx.js
| templates html文件包
| ------xxx.html
| secure 配置文件包
| ------setting.py
| ------secure.py
|________
|
|_app.py 项目入口文件
做好充足的准备 先按照包结构设置好自己的项目
如图所示
在这里插入图片描述
下面开始项目
1.首先设置蓝图
在blog/init.py中添加函数create_app()
为了方便观看和结构舒适,我将注册蓝图和插入蓝图分为两个函数
如下 : blog/init.py

from flask import Flask

#这是注册app的函数
def create_app():
    app = Flask(__name__)
    register_blue(app)   #插入蓝图
    return app
#这里要返回app 这个坑我纠结了好久 如果没有返回app会一直报错 没有模块 run

#这是注册蓝图的函数
def register_blue(app):
    from blog.view import web
    app.register_blueprint(web)  #注册蓝图

然后在view的初始化文件init中 设置蓝图
如下 : view/init.py

from flask import Blueprint

web = Blueprint('web',__name__)

from blog.view import hello
# 这里是导入同文件的视图函数 

视图函数
如下 : view/hello

from blog.view import web


@web.route('/') #注意 这里因为注册了蓝图 所以为@web.route......
def hello():
    return '<p>你好</p>'

2.配置文件
准备配置文件 目前我们要用的配置文件不多
大致为 DEBUG=True
因为属于比较私密的内容 所以我们放到secure配置文件中
然后在create_app()中导入配置文件
如下 : blog/init.py

from flask import Flask

def create_app():
    app = Flask(__name__)
   --------------新添加内容在这里
    app.config.from_object('blog.secure.setting')
    app.config.from_object('blog.secure.secure')
    --------------
    register_blue(app)   #插入蓝图
    return app

def register_blue(app):
    from blog.view import web
    app.register_blueprint(web)  #注册蓝图

我们运行app.py发现

* Serving Flask app "blog" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with stat
 * Debugger is active!    #这里表示DEBUG已经开启说明配置文件导入成功
 * Debugger PIN: 309-373-038
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

3.把templates改为html文件夹
在这里插入图片描述
因为flask还用的是jinjia2引擎
在pycharm设置如图:
在这里插入图片描述

鉴于笔者的表达能力非常垃圾 我这里把包上传到码云中
码云地址为:https://gitee.com/fuyi2333/flask
有兴趣的话可以交流研究(其实只有我一个)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值