如何在DjangoCMS索引页面中添加一个href链接到另一个页面

时间:2015-07-16 12:48:27

标签: django django-templates django-cms

我有一个使用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  # NOQA

的index.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。我确信该页面存在于该路径中。

请提供任何提示?

1 个答案:

答案 0 :(得分:1)

您应该使用django CMS中的{% show_menu %}模板标记,而不是自己手动编写菜单。

如果您还需要非CMS菜单节点,请查看django CMS中extend the menu的方法。