美文网首页
flask零基础看项目构成

flask零基础看项目构成

作者: 查无此人asdasd | 来源:发表于2018-05-04 00:42 被阅读0次

首先在网上下了个flask项目:

    目录的构成:

templates 类似view层 用于保存html页面

static:静态文件

其他文件夹都是作为包存在的,都有__init__.py,详细的在后面说

  入口文件为manage.py:

        1.sys.path.append(os.path.abspath(os.path.dirname(__file__))) 设置当前目录进入环境变量,这样就可以方便的导入

        2.导入了octblog里的create_app方法,根据配置创建app

        3.manager.add_command 使用manage时的配置

        4.利用了unitest,但我没用过

        5.运行

在create_app.py(位于octblog包中的__init__.py中)里

        1. app = Flask(__name__,template_folder=config[config_name].TEMPLATE_PATH, static_folder=config[config_name].STATIC_PATH) 新建一个app

        2.初始化一些数据库之类的配置:init_app(app)

        3.from main.urls import main as main_blueprint, blog_admin as blog_admin_blueprint 导入main包中的url路由配置(blueprint是flask中组织view函数或者说组织各种静态资源的一种方式,就像我们书的目录一样,这样当一个请求过来的时候都可以通过这个目录找到对应的view函数,同时对于各个view函数,其他的view函数都是对其可见的,各个view函数之间也可以通过这个目录找到其他的view函数(取自https://segmentfault.com/q/1010000002980493))

            创建方式: main = Blueprint('main', __name__) 

                            main.add_url_rule('/post/<slug>/', 'post_detail_fix', views.post_detail, defaults={'fix':True})

                             把所有给/post/<slug>/ 的请求都转发给当前目录下中views.py文件中的post_details方法

                            当然还有一些其他的注册方式,都很容易看得懂

        4.from accounts.urls import accounts as accounts_blueprint  导入accounts包内的url路由配置

        5. app.register_blueprint(main_blueprint)

            app.register_blueprint(blog_admin_blueprint, url_prefix='/admin')

            app.register_blueprint(accounts_blueprint, url_prefix='/accounts')

            加个前缀区分admin和account,也就是前台和后台吧。

大概就这么多,从url进之后处理函数都在views.py里面,在包里面互相调用,形成了整个web逻辑,只是个很简单的应用,用作flask的入门参考

jinja2:

    刚刚开始看的时候还不知道jinja是什么·其实一直在用类似的模板,但只是不知道他叫模板,就是能够方便你把后端数据传到前端的函数和语法render_template

相关文章

网友评论

      本文标题:flask零基础看项目构成

      本文链接:https://www.haomeiwen.com/subject/fwkrrftx.html