首页 > 其他分享 >FLASK项目目录(模仿django)

FLASK项目目录(模仿django)

时间:2023-05-25 17:26:21浏览次数:36  
标签:__ 蓝图 FLASK app py django user create 模仿

FLASK项目目录(模仿django)

1.

app   放static和templates文件夹,以及应用的文件夹,图中admin文件夹可以简单看成一个应用
|____ admin 应用,功能模块
|____ static 静态文件存放位置
|____ templates 模板文件存放位置
|____ __init__.py

utils  工具文件存放位置

app.py 项目启动文件

config.py 配置文件

2.各个文件内容

app/admin/views.py

from flask.blueprints import Blueprint

u = Blueprint('user', __name__, url_prefix='/user') # 创建蓝图,并加了/user前缀,url_prefix参数必须已 / 开头不然会报错,蓝图前缀主要帮助我们区分功能模块,一个功能模块对应一个蓝图前缀如用户相关的 前缀可为 /user 商品相关的可为 /goods 这类似于django的路由分发

@u.route('/')
def us():
    return 'user'

app/init.py

from flask import Flask
from .admin.views import u
def create_app():
    app = Flask(__name__)
    app.register_blueprint(u) # 注册蓝图
    return app

app.py

from app import create_app

app = create_app()

if __name__ == '__main__':
    app.run(debug=True)

3.好处

这么分的好处是让app.py文件代码量减少,后面添加功能模块的时候更加方便,只需要将功能模块的包直接粘贴到app中即可,就像admin一样。

4.流程讲解

项目启动时:
	(1)app.py: 首先会去app包下导入一个create_app函数,调用了app包,所以app/__init__.py中顶格写的代码都会加载
	(2)app/__init__.py:此时__init__.py中有Flsak类以及admin/views.py下的顶格写的代码还有一个create_app函数
	(3)app/__init__.py/create_app:create_app函数实现了创建一个Flask app应用,以及注册了一个蓝图,并返回app
	(4)到此是运行项目时app.py中的from app import create_app所做的事情
	(5)app.py: app = create_app()运行了create_app函数得到了一个flask对象 app
	(6)app.py: app.run(debug=True)启动项目
	(7)浏览器中访问 http://127.0.0.1:5000/user/ 就可以看到返回的内容
    
    
    
'''
	如果想要访问 http://127.0.0.1:5000就得到访问内容
	我们可以去掉蓝图中的url_prefix参数,即不需要蓝图前缀
	
	from flask.blueprints import Blueprint

    u = Blueprint('user', __name__) # 创建蓝图,并加了/user前缀,url_prefix参数必须已 / 开头不然会报错

    @u.route('/')
    def us():
        return 'user'
'''

标签:__,蓝图,FLASK,app,py,django,user,create,模仿
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/17431915.html

相关文章

  • What is doing __str__ function in Django?
    def str(self):isapythonmethodwhichiscalledwhenweuseprint/strtoconvertobjectintoastring.Itispredefined,howevercanbecustomised.Willseestepbystep.Supposebelowisourcode.classtopics():def__init__(self,topics):......
  • Django——中间件
    我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面。我们通过给几个特定视图函数加装饰器实现了这个需求。但是以后添加的视图函数可能也需要加上装饰器,这样是不是稍微有点繁琐。学完今天的内容之后呢,我们就可以用更适宜的......
  • django 使用mysql数据库
    1.手动创建mysql数据库,比如xadmincreatedatabasexadmincharset=utf8;2.配置django项目setting.py文件中的数据库设置DATABASES={'default':{'ENGINE':'django.db.backends.mysql',#数据库后端'NAME':'xadmin',......
  • Flask005_定义 URL
    定义无参数的URL定义有参数的URLURL本质上是一个字符串,如果没有指定参数类型,那么参数传进视图参数时默认也是字符串类型。如果指定了参数类型,那么参数传给视图函数之前,会将参数转换为指定类型,这样视图函数拿到的参数就是经过转换后的。参数类型参数类型描述s......
  • 【毕业设计】QT从入门到实战:实现模仿QQ通讯,也是在校的最后一篇博文。
    文章目录一.前言二.模仿QQ通讯1.介绍2.图例一.前言2019年9月来到泰州职业技术学院,从此,正式开启了我的代码求学之路。2021年7月即将离开泰州职业技术学院,还有半个月的时间,从此,将离开校园,变成一个职场人。早上醒来,班主任在群里通知后天要照毕业照,算起来也就不到两年的时间,你可......
  • 1004.Django项目用户功能之关联序列化及访问限流
    一、路由器1.SimpleRouter该路由器包括标准集合——list、create、retrieve、update、partial_update、destroy动作的路由。视图集中还可以使用@detail_route或@list_route装饰器标记要被路由的其他方法;2.DefaultRouter这个路由器类似于上面的SimpleRouter,但是还包括一个默......
  • django之对FileField字段的upload_to的设定
       用django开发,经常要处理用户上传的文件,比如user模型里面如果又个人头像的字段ImageField等等,而django在FielField字段(包括ImageField)的支持和扩展是做的很好的,首先一个问题,是上传的文件,django是放到哪里去了,(note:文件流是不会放到数据库里面的,该字段在数据库中只存储路......
  • django使用mysql数据库
    1、启动/停止mysqlnetstartmysql80netstopmysql802、登录mysqlmysql-uroot-ppassword3、创建数据库/databasecreatdatabaseday10DEFAULTCHARSETutf8COLLATEutf8_general_ci;4、pycharm设置使用mysql,在settings中添加如下代码1DATABASES={2......
  • django配置文件作用,drf 登录功能,drf认证组件,drf权限组件,drf频率组件
    django配置文件作用:    drf登录功能:view内:from.modelsimportUserInfo,UserTokenfromrest_framework.viewsetsimportViewSetimportuuidfromrest_framework.responseimportResponsefromrest_framework.decoratorsimportactionclassUser......
  • Django 路由分发
    Django路由分发当一个url请求过来之后1、先到项目主目录下的urls内。2、由这个url做处理分发给其他app内的urls。一级路由:主目录urls内引入includefromdjango.conf.urlsimporturl,includeurlpatterns=[#指定分发的app目录名称url(r'^cmdb/',include("app0......