子模块的Django / app导入问题

Posted

技术标签:

【中文标题】子模块的Django / app导入问题【英文标题】:Django / app import problem from submodule 【发布时间】:2022-01-24 00:55:54 【问题描述】:

我正在编写自己的 Django 应用程序,并尝试像这样从我的核心库中导入子模块:

INSTALLED_APPS = [
    'django.contrib.admin',
    ...
    'core.login',
]

翻译给我:

django.core.exceptions.ImproperlyConfigured:
Cannot import 'login'.
Check that 'core.login.apps.CustomloginConfig.name' is correct.

所以login.apps 看起来像这样

from django.apps import AppConfig


class CustomloginConfig(AppConfig):
    name = 'login'

有什么规则可以让我编辑这些文件以正确启动 Django 吗?

【问题讨论】:

只需在 INSTALLED_APPS 中使用 'login' 而不是 'core.login' 【参考方案1】:

apps.py 文件需要这样

from django.apps import AppConfig


class CustomloginConfig(AppConfig):
    name = 'core.login'

这是你告诉 django 我已经注册了这个应用程序 'core.login' 以及在哪里可以找到它的地方。

如果登录文件夹在核心文件夹中,那么上面应该可以工作。

我认为有很多 django 应用程序都以这种方式组织事情。 一个是 Kiwi,但我相信还有很多其他的。

【讨论】:

以上是关于子模块的Django / app导入问题的主要内容,如果未能解决你的问题,请参考以下文章

在子模块中使用来自导入模块的组件

在反应中动态导入模块

视图中的 Django 导入错误 - 没有名为“x”的模块

Android/Jitpack:无法导入子模块

导入pyspark ETL模块并使用python子进程作为子进程运行时出错

pom.xml导入子模块失败