服务器是我今天设置的虚拟Ubuntu机器,根据这些指示/注释(我做了笔记,我偏离了教程):
得到了Django"它有效!"页面在本地网络上的服务器地址。然后我按照官方网站上的说明进行操作(我无法发布太多链接,我的声誉太低),当我尝试执行./manage.py syncdb时,我收到以下错误:
CommandError: One or more models did not validate:
zinnia.entry: 'sites' has an m2m relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.
Zinnia网址(/ weblog /和/ comments /)产生404错误,表明Zinnia网址肯定在项目的urls.py中,而不是 out urls.py.我怀疑syncdb错误与此有关:
Using the URLconf defined in homepage.urls, Django tried these URL patterns, in this order:
^admin/
The current URL, weblog/, didn't match any of these.
明确地说,从一个正在运行的Django服务器开始,我按照指示做了以下操作(我重复了我已采取的步骤,以便它完全清楚):
我对项目目录中没有可编辑的python代码这一事实感到有点困惑 - 百日草完全像黑盒子一样运行吗?哦,我还确保安装了所有要求,并粘贴了requirements.txt,但网站认为它是代码,不允许我发布它。无论如何,百日草安装页面上列出的所有内容都在那里。
答案 0 :(得分:4)
确保您拥有所有必需的已安装应用。请注意,有几个django.contrib
个必需的应用,包括django.contrib.sites
,您的错误消息表明您错过了这些应用。
相关部分的文档here。
编辑:
INSTALLED_APPS
至少需要以下内容:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites', # Note this one is not included by default
'django.contrib.comments', # Note this one is not included by default
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'tagging',
'mptt',
'zinnia',
)
此外,您可能需要添加SITE_ID
设置。
SITE_ID = 1
网站框架设置here。
编辑2:
由于Django 1.6 django.contrib.comments
是一个独立的项目:django_comments
。
您必须按照此quick install guide进行安装,然后在'django_comments'
中添加INSTALLED_APPS
(不是'django.contrib.comments'
)。