• 1项目搭建


    一,结构

    首先看目录结构:

    总体结构:

    1,首先新建flask项目

    2,在项目一级目录中新建“apps”包,注意是包。新建他是为了简历蓝图。

    3,apps下分为cms后台管理,front前台页面以及common公共页面。

    4,config是设置文件

    5,exts避免双向引用简历的中间件,可参加我之前的博客。

     蓝图结构,以cms为例:

    每个蓝图中将表单、数据模型、视图分开来(即:forms,models,views),在views中新建蓝图:

    1 from flask import Blueprint
    2 
    3 # 在‘bp = Blueprint('cms',__name__,url_prefix='cms')’中出错了,原因在于前缀没加‘/4 bp = Blueprint('cms',__name__,url_prefix='/cms')
    5 
    6 @bp.route('/')
    7 def index():
    8     return 'cms index'

    Note:第4行要加上“/”。为啥后面不加呢?因为后面要是加的话就会形成:“http://127.0.0.1:5000/cms//index”,当然我这里没写index,但是后面加了会使得URL中也毕业加两条//才能访问,不加是为了防止重复。

    在cms下的init文件中有:

    from .views import bp

    这句话实际上是把同级文件views中的bp提到cms这一级别,方便其他文件对他import。

    比如主文件puppetbbs中本来应该是“from apps.cms.views import bp as cms_bp”,但是我们在cms/front/common中init中加入了“from .views import bp”,使得从“apps.cms”就能导入bp。且我们用as给他取个别名。才有下面这种简单的调用:

    from apps.cms import bp as cms_bp

    最后,在主文件中记得注册蓝图。这里有一点需要注意:

    先看源码,blueprint这里没说接受字符串,因此不要用把cms_bp打引号,应该为下面代码:

    app.register_blueprint(cms_bp)  #Note:cms_bp不需要打引号

  • 相关阅读:
    Beta 冲刺(1/7)
    福大软工 · BETA 版冲刺前准备(团队)
    福大软工 · 第十一次作业
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    个人作业——软件工程实践总结作业
    Beta 答辩总结
    Beta 冲刺 (7/7)
    Beta 冲刺 (6/7)
  • 原文地址:https://www.cnblogs.com/two-peanuts/p/11346613.html
Copyright © 2020-2023  润新知