在django app中的连字符

时间:2014-05-30 07:44:06

标签: python django django-cms

我偶然发现导入问题以及名称中带有连字符的Django应用程序。

据我所知,Django应用程序名称中甚至不允许连字符,但它仍然存在且网站运行没有错误。我绝对不知道应用程序是如何创建的,因为当我开始研究项目时项目已经存在。 (这是一个Django CMS项目,如果它改变了什么btw)

现在的问题是,当我想要在shell或项目中导入某些内容时,我不能只编写from my-app import module,因为它会因为泛滥而抛出错误。

同样在INSTALLED_APPS中,它与hypen INSTALLED_APPS = ('my-app')

一起列出

那么我怎样才能真正解决这个问题并使其可用?我想过重命名,但我真的不知道后果,我也不想在CMS中打破任何东西(我还在学习Django,CMS对我来说很新)

1 个答案:

答案 0 :(得分:3)

你可以这样做:

import importlib
module = importlib.import_module('.module', 'my-app')

有关详细信息,请参阅文档https://docs.python.org/3/library/importlib.html#importlib.import_module

编辑:这不是Django特定的问题,而是在Python(以及大多数其他编程语言中)' - ' (连字符)不能用于变量名(As' - '是减法运算符)。