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 属性

相关推荐
wangsir.5 分钟前
测试之自动化测试常用函数
python·测试
铁蛋AI编程实战9 分钟前
MemoryLake 实战:构建超长对话 AI 助手的完整代码教程
人工智能·python·microsoft·机器学习
清水白石00814 分钟前
《为什么说 deque 是 Python 滑动窗口的“隐藏神器”?深入解析双端队列的高效之道》
开发语言·python
kjkdd16 分钟前
5. LangChain设计理念和发展历程
python·语言模型·langchain·ai编程
摘星编程23 分钟前
CANN ops-nn 激活函数算子全解析:从ReLU到GELU的演进与实现
python
love530love38 分钟前
【高阶编译】Windows 环境下强制编译 Flash Attention:绕过 CUDA 版本不匹配高阶指南
人工智能·windows·python·flash_attn·flash-attn·flash-attention·定制编译
DeniuHe38 分钟前
Pytorch中的众数
人工智能·pytorch·python
新缸中之脑39 分钟前
开发AI代理必备的8个Python 库
开发语言·人工智能·python
WKP941840 分钟前
照片生成心形工具【免费】【下载即可使用】
python
Java后端的Ai之路40 分钟前
【Python 教程14】- 网络编程
网络·python·php