使用Python 2.7.x + Django 1.9:
我使用django-admin startproject simple
作为一个完整性检查,我创建了一个views.py
文件,其中包含一个简单的视图,可以输出一个" hello world"键入测试消息和到该视图的URL路由。我可以使用python manage.py runserver
来运行它,它运行正常。
我用一个超级简单的Django ORM模型类创建一个models.py
文件。仅供参考,我的目标是使用现有的表格和架构,因此我不希望ORM生成新的表格。
class SuperSimpleModel(models.Model):
some_value = models.CharField(blank=True, null=True)
class Meta:
managed = False
db_table = 'model_test_table'
仅将import models
添加到我的views.py
代码会导致在使用python manage.py runserver
的服务器启动时发生以下错误:
" RuntimeError:模型类simple.models.SuperSimpleModel没有声明一个显式的app_label,也不是 在INSTALLED_APPS中的应用程序中,或者在其之前导入 应用程序已加载。"
我认为我的应用程序没有正确初始化?我把这个问题归结为上述简单的可重复步骤。在上述步骤中,我settings.py
没有改变任何内容。通常,我需要配置数据库,但我甚至可以重现错误。
答案 0 :(得分:9)
您是正确的,因为您需要在此处修改设置。例如,请参阅this Django tutorial step。
根据您在此处提供的内容,您似乎必须将'simple'
添加到INSTALLED_APPS
设置中。所以这个设置最终会看起来像这样:
INSTALLED_APPS = [
'simple',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
请注意,鉴于您的PYTHONPATH设置如何,'simple'
本身可能不合适。您可能需要为应用程序添加更具体的路径,如上面的教程步骤对'polls.apps.PollsConfig'
所做的那样。
答案 1 :(得分:0)
我遇到了类似的问题,结果发现我的解释器有错误的Python路径设置。如果上一个答案没有帮助,请查看。它应包含manage.py所在目录的路径。