新的Django Server,根据官方文档添加Zinnia项目,不起作用。里面有很多细节

时间:2014-04-22 21:46:56

标签: python django zinnia

服务器是我今天设置的虚拟Ubuntu机器,根据这些指示/注释(我做了笔记,我偏离了教程):

https://www.evernote.com/shard/s50/sh/5c4f5ed1-bdb0-40c1-b9de-39fae702d709/d906be4f255c36241a3b76bf6fc7e7b7

得到了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服务器开始,我按照指示做了以下操作(我重复了我已采取的步骤,以便它完全清楚):

  • $ pip install django-blog-zinnia
  • 在settings.py
  • 中为已安装的应用添加了标记&#39; mptt&#39;,&#39; zinnia&#39;
  • 还将TEMPLATE_CONTEXT_PROCESSORS添加到settings.py

我对项目目录中没有可编辑的python代码这一事实感到有点困惑 - 百日草完全像黑盒子一样运行吗?哦,我还确保安装了所有要求,并粘贴了requirements.txt,但网站认为它是代码,不允许我发布它。无论如何,百日草安装页面上列出的所有内容都在那里。

1 个答案:

答案 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')。