【问题标题】:How can I add a href link to another page in DjangoCMS index page如何在 DjangoCMS 索引页面中添加指向另一个页面的 href 链接
【发布时间】:2015-10-05 22:09:25
【问题描述】:

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

我尝试了以下方法:

&lt;a href="blog.html"&gt;Blog&lt;/a&gt;
&lt;a href="{% url 'blog.html' %}"&gt;Blog&lt;/a&gt;
&lt;a href="{% url blog.html %}"&gt;Blog&lt;/a&gt;

但每次我收到404-Page not found。我确信该页面存在于该路径中。

有什么提示吗?

【问题讨论】:

    标签: django django-templates django-cms


    【解决方案1】:

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

    如果您也需要非 CMS 菜单节点,请查看如何在 django CMS 中 extend the menu

    【讨论】:

    • 这意味着我必须修改整个菜单,我认为这需要一些时间,对吧?我希望菜单更多地基于 CMS,但我没有从该文档中得到太多
    • 是的,设置需要一些时间,但值得。使用 django CMS 的一大优势是自动生成的菜单。如果您在设置方面需要帮助,请随时访问 irc.freenode.net 上的#django-cms 寻求帮助。
    • 我尝试进入该频道,但没有人回答我。另一个问题,如果我将集成该菜单,样式和 html 将保持与模板中的相同?
    • 我现在正坐在那里等你;-)。它是 IRC,所以在提出您的问题后,您有时需要等待一段时间让人们醒来等。您可以在菜单系统中使用自定义样式/html。
    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2012-07-09
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    相关资源
    最近更新 更多