我正在尝试将zinnia与django-cms 3.0连接起来。
我发射了zinnia,它工作得很好。现在我正试着改变风格。更具体地说,templates/zinnia/skeleton.html覆盖。
一旦我添加模板覆盖原始模板- url反向启动失败。
NoReverseMatch at /en-us/blog/
Reverse for 'entry_archive_index' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []所有的urls都使用名称空间,就像在{% url 'zinnia:entry_archive_index' %}中一样,但是在shell中相反也是失败的。
还能做什么来调试它呢?也许是因为本土化?
我有urls配置:
from django.conf.urls import patterns, url, include
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = i18n_patterns(
'',
url(r'^admin/', include(admin.site.urls)),
url(r'^blog/', include('zinnia.urls', namespace='zinnia')),
url(r'^comments/', include('django.contrib.comments.urls')),
url(r'^tinymce/', include('tinymce.urls')),
url(r'^', include('cms.urls')),
)
if settings.DEBUG:
urlpatterns = patterns(
'',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
url(r'', include('django.contrib.staticfiles.urls')),
) + urlpatterns设置:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.sites',
'django.contrib.comments',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.contenttypes',
'my_main_django_cms_app',
'cms',
'mptt',
'menus',
'south',
'sekizai',
'djangocms_text_ckeditor',
'djangocms_picture',
'djangocms_inherit',
'djangocms_googlemap',
'cmsplugin_contact',
'tinymce',
'tagging',
'zinnia_threaded_comments',
'zinnia',
'cmsplugin_zinnia',
)而my_main_django_cms_app结构是
.
├── cms_plugins.py
├── forms.py
├── __init__.py
├── manage.py
├── models.py
├── settings.py
├── static
├── templates
│ ├── base.html
│ ├── home.html
│ └── zinnia
│ └── skeleton.html
├── urls.py
├── wsgi.py我的版本是:
Django==1.6.5
Pillow==2.4.0
South==0.8.4
argparse==1.2.1
beautifulsoup4==4.3.2
cmsplugin-contact==1.0.0
cmsplugin-zinnia==0.6
django-app-namespace-template-loader==0.1
django-blog-zinnia==0.14.1
django-classy-tags==0.5.1
django-cms==3.0
django-mptt==0.6.0
django-reversion==1.8.1
django-sekizai==0.7
django-tagging==0.3.2
django-tinymce==1.5.2
django-xmlrpc==0.1.5
djangocms-admin-style==0.2.2
djangocms-googlemap==0.0.5
djangocms-inherit==0.0.1
djangocms-picture==0.0.2
djangocms-text-ckeditor==2.1.6
gevent==1.0.1
greenlet==0.4.2
gunicorn==19.0.0
my_main_django_cms_app==0.1
html5lib==1.0b3
ipdb==0.8
ipython==2.1.0
psycopg2==2.5
pyparsing==2.0.2
pytz==2014.4
six==1.7.2
wsgiref==0.1.2
zinnia-threaded-comments==0.2发布于 2014-08-04 10:31:38
几天来,我一直在尝试将zinnia集成到django cms中,下面是我的经验,这使我可以使用自己的django cms模板来实现zinnia,但我仍然无法使用cmsplugin_zinnia提供的菜单。
与您的设置相比,我做了以下更改:
zinnia命名空间,因此url(r'^blog/', include('zinnia.urls', namespace='zinnia'))变成了url(r'^blog/', include('zinnia.urls'))。app_name = 'zinnia'添加到cmsplugin_zinnia.cmsapp.ZinniaApphookcms在zinnia之后和cmsplugin_zinnia之前从settings.py in [医]锌搬来这样,我可以为一个新的Django CMS页面选择Zinnia Weblog作为Advanced Settings下的Application,并按照Django CMS文档中的建议给它一个唯一的Application Instance Name --页面的名称或它的url/slug字段并不重要。
在这里,我可以提出我自己的skeleton.html,它完全不引用zinnia,并让zinnia.base.html扩展我的新骨架模板。
然而,此时锌化博士建议:
zinnia.urls在urls.py中的包含,然后重新启动服务器以查看它是否完全生效。”但是,我得到了一个NoReverseMatch at /name_of_my_blog_app/异常,只有当我将zinnia.urls包含在上面没有namespace的情况下,它才会消失。
由于您的原始职位已经过去了几个星期,您现在可能已经解决了这个问题。如果没有,我希望这能把你引向正确的方向。如果您在某个时候遇到了相同的问题(EntryMenu not loaded)并且能够解决,请告诉我。
发布于 2014-08-23 07:44:40
通过使用django的dev版本-blog-zinnia,我不再看到'EntryMenu未加载‘了。所有与菜单相关的错误现在都消失了。正如我所理解的,这是由于zinnia中固有的命名空间问题。Fantomas42看起来在开发版本中覆盖了它。
它已经在https://github.com/django-blog-zinnia/cmsplugin-zinnia/issues/29上被跟踪了
https://stackoverflow.com/questions/24286883
复制相似问题