Свежий Django Server, добавленный Zinnia в проект согласно официальным документам, не работает. Много деталей внутри
Сервер - это виртуальная машина 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.
URL-адреса Zinnia (/weblog/ и /comments/) выдают 404 ошибки, которые указывают на то, что URL-адреса Zinnia, которые определенно содержатся в urls.py проекта, не делают его из 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
- добавлены теги, mptt, zinnia к установленным приложениям в settings.py
- также добавил TEMPLATE_CONTEXT_PROCESSORS в settings.py
Я также немного смущен тем фактом, что в каталоге проекта нет редактируемого кода Python - Zinnia работает полностью как черный ящик? О, я также удостоверился, что все требования были установлены, и я вставил файл examples.txt, но сайт подумал, что это код, и не позволил мне опубликовать его. В любом случае, все, что перечислено на странице установки Zinnia, там.
1 ответ
Убедитесь, что у вас есть все необходимые установленные приложения. Обратите внимание, что есть несколько django.contrib
приложения, которые необходимы, в том числе django.contrib.sites
, что ваше сообщение об ошибке указывает, что вы пропустили.
Соответствующая часть документов здесь.
РЕДАКТИРОВАТЬ:
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
Настройка фреймворка сайтов здесь.
РЕДАКТИРОВАТЬ 2:
С Джанго 1.6 django.contrib.comments
это отдельный проект: django_comments
,
Вы должны установить его как в этом кратком руководстве по установке и добавить 'django_comments'
в INSTALLED_APPS
(не 'django.contrib.comments'
).