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

相关推荐
workflower20 分钟前
需求-技术需求
python·测试用例·需求分析·软件需求
ding_zhikai31 分钟前
【Web应用开发笔记】Django笔记3-2:部署我的简陋网页
笔记·后端·python·django
山岚的运维笔记34 分钟前
SQL Server笔记 -- 第86章:查询存储
笔记·python·sql·microsoft·sqlserver·flask
两万五千个小时35 分钟前
构建mini Claude Code:11 - 从「被动等待」到「主动找活」
人工智能·python·架构
小鸡吃米…42 分钟前
TensorFlow 实现梯度下降优化
人工智能·python·tensorflow·neo4j
njsgcs1 小时前
py不等于python
开发语言·python
天空属于哈夫克31 小时前
Java 开发|企微外部群主动发送小程序消息实战
开发语言·python·小程序·自动化·企业微信·rpa
戴西软件1 小时前
PreSys在爆炸与多介质流固耦合中的建模方法:从ALE到SPH的工程实践
linux·python·程序人生·cae
程序员南飞1 小时前
排序算法举例
java·开发语言·数据结构·python·算法·排序算法
有点心急10211 小时前
图表展示 MCP 工具
python·aigc·mcp