我有一个使用DjangoCMS开发的网站,我试图将一个href添加到另一个页面(site.com/en/blog)。不幸的是,我的尝试都没有进展得很好:
urls.py
from __future__ import print_function
from cms.sitemaps import CMSSitemap
from django.conf.urls import * # NOQA
from django.conf.urls.i18n import i18n_patterns
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = i18n_patterns('',
url(r'^admin/', include(admin.site.urls)), # NOQA
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap',
{'sitemaps': {'cmspages': CMSSitemap}}),
url(r'^select2/', include('django_select2.urls')),
url(r'^', include('cms.urls')),
url(r'^blog', include('cms.urls')),
)
# This is only needed when using runserver.
if settings.DEBUG:
urlpatterns = patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', # NOQA
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
) + staticfiles_urlpatterns() + urlpatterns # NOQAindex.html
...
<li class="menu-item-has-children"><a href="blog.html">Blog</a>
<ul class="sub-menu">
<li><a href="blog-3col.html">3 Columns</a></li>
<li><a href="blog-2col.html">2 Columns</a></li>
<li><a href="blog-2col2.html">2 Columns with sidebar</a></li>
<li><a href="blog-classic.html">Standard</a></li>
<li><a href="blog-full.html">Fullwidth</a></li>
<li><a href="blog-modern.html">Modern</a></li>
<li><a href="blog-modern2.html">Modern 2</a></li>
<li><a href="blog.html">Modern 2 Lite</a></li>
</ul>
...我试过以下几种方法:
<a href="blog.html">Blog</a>或
<a href="{% url 'blog.html' %}">Blog</a>或
<a href="{% url blog.html %}">Blog</a>
但每次我得到404-Page not found。我确信这一页就在这条道路上。
有什么提示吗?
发布于 2015-07-16 12:56:31
与其手工编写菜单,不如在django中使用{% show_menu %}模板标记。
如果您也需要非CMS菜单节点,请查看如何在django CMS中使用扩展菜单。
https://stackoverflow.com/questions/31454619
复制相似问题