所以我一直关注django tutorial并且事情很顺利,但后来我决定尝试按照教程编写我自己的应用程序。我创建了一个视图,并使用此部分更新了/ pysent/settings.py
文件
INSTALLED_APPS = [
'pressent.apps.PressentConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
但是,当我保存文件时,我从正在运行的服务器收到错误:
ImportError: No module named PressentConfig
如果我将上面的第一行更改为
`pressent`
我没有收到任何错误消息。另一方面,使用教程示例,可以使用行
polls.apps.PollsConfig
django
版本应该是1.9.6
>>> import django
>>> django.VERSION
(1, 9, 6, 'final', 0)
>>>
这里发生了什么?
修改的
解决方案是编辑pysent/pressent/apps
并添加
class PressentConfig(AppConfig):
name = 'pressent'
问题的原因是我更改了文件夹名称。
答案 0 :(得分:2)
查看你的app目录,检查是否有一个名为app
的模块,并在该模块中有一个名为PressentConfig
的类。如果没有,那么除非您为应用创建配置,否则app config方法将无效。阅读更多Django: configuring apps
答案 1 :(得分:2)
我假设pressent
是你的django应用程序名称(项目名称我认为是pysent
),所以有一个名为pressent
的目录并在其中有一个apps.py
文件,最后该文件有一个名为PressentConfig
的类。
PressentConfig类示例:
from django.apps import AppConfig
class PressentConfig(AppConfig):
name = 'pressent'
# Exec some configs for this app. Maybe overriding the ready method