Django——多apps目录情况下的app注册

文章目录

多apps目录下的app注册

方式1-添加python导包路径

python 复制代码
import sys
sys.path.insert(0, str(BASE_DIR / "apps"))
print(sys.path)

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 直接写app名即可
    'home',
]
  • 原理:

原来的导包路径是直接在项目下开始:

将导包路径多添加一条:从apps文件夹下导入

方式2-修改AppConfig类名

settings.py

python 复制代码
INSTALLED_APPS = [
    # ...
    'luffycityapi.apps.home',
]

app下的apps.py

python 复制代码
from django.apps import AppConfig


class HomeConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'project.apps.home'
  • 原理:

注册app时直接从项目下开始导入。

此时django在导入模块时,会找名为 project.apps.home 的app。

而尝试导入一个应用程序时,它会使用 AppConfig 的 name 属性作为模块的全名来查找和加载它,

所以就要修改AppConfig 的 name 属性

相关推荐
c_lb72884 小时前
期货主连研究具体月实盘:KQ 连续与标的月份偏差怎么记
python·区块链
绘梨衣5474 小时前
采集基类设计遇到的描述符bug
爬虫·python·bug
TechWayfarer4 小时前
IP精准定位服务在保险行业的接入实践:区域需求洞察与精准服务
数据库·python·tcp/ip·flask
Li#5 小时前
AI编写操作使用说明书需要用到的工具和能力
python·ai编程·ai写作
红宝村村长5 小时前
torch.autograd.Function.apply()
开发语言·python
花间相见5 小时前
【LeetCode01】—— 无重复字符的最长子串:滑动窗口经典题详解
python·算法·leetcode
何以解忧,唯有..5 小时前
Python 中的继承机制:从基础到高级用法详解
java·开发语言·python
try2find5 小时前
agent环境安装spacy
python·智能体
ellenwan20265 小时前
期货程序化开平标志错了总拒单:天勤 last_msg 排查思路
python
装不满的克莱因瓶6 小时前
自动微分的原理:计算图与前向传播
人工智能·pytorch·python·数学·ai·微积分·计算图