首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django源码学习-6-App 应用程序注册

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

当运行Django项目时,Django需要做的第一件事情是查找与该项目关联的应用程序(apps),以便知道该项目使用的代码。Django使用配置文件里的 INSTALLED_APPS 设置来查找项目中的所有应用程序,并构建要运行的应用程序列表。Django在此上下文中将应用程序列表称为应用程序注册表app registry。

在每个新建的 app 应用目录下,都会生成一个 apps.py 文件

可以看到 AppConfig 是应用程序配置类,主要用来管理Django应用程序及其配置信息,所以每个应用都会有一个应用程序配置类。它核心的方法是一个工厂类方法,它接收INSTALLED_APPS中的条目来创建AppConfig实例,接收的条目可以是一个应用程序模块的路径,这时候创建的是默认的AppConfig实例;接收的条目也可以是一个应用程序配置类的路径,这时候创建的就是用户自己定义的AppConfig实例。

其中应用程序注册表分为三个阶段初始化。在每个阶段,Django按照INSTALLED_APPS的顺序处理所有应用程序。首先会导入INSTALLED_APPS中所有应用程序(apps);尝试导入每个应用程序的models子模块;最后运行每个应用程序配置的ready()方法。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190730A0021B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券