我正在使用django-cms来设计网站,截至目前,我必须使用About Us
,Products
,Contact Us
等菜单栏创建基本主页,
我完成了django
和django-cms
的所有必要设置,激活了管理部分并且工作正常。
我创建了一个Home Page template
,其中包含About Us
,Products
,Contact Us
,并通过django-cms {{1}创建了一个名为aboutus
的网页使用slug admin
。
现在我已经给了about-us
那个slu about-us
,它只是About Us
菜单的锚标签中的一个url,所以当我点击链接时它工作正常并将我重定向到页面{{1将浏览器中的网址设为aboutus
。
但问题是,当我再次点击http://localhost:8080/aboutus
链接时,它会生成两次类似于aboutus
的网址,我的意思是每次点击,slu http://localhost:8080/aboutus/aboutus
是附在网址上。
以下是我的代码
settings.py
aboutus
urls.py
TEMPLATE_CONTEXT_PROCESSORS = (
.......
'cms.context_processors.media',
'sekizai.context_processors.sekizai',
)
CMS_TEMPLATES = (
('home.html', gettext('Home')),
('aboutus.html', gettext("About Us")),
('management_team.html',gettext('Management Team')),
)
.....
....
home.html的
from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)
以上是我的整体代码,其中{% load cms_tags sekizai_tags %}
{% load staticfiles %}
{% load staticfiles %}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block head %}{% endblock %}</title>
{% render_block "css" %}
</head>
<body>
{% cms_toolbar %}
<div class="submenu">
<a href="about-us">About Company Services</a><br />
<a href="management-team">Our Management Team</a>
</div>
<a href="about-us" class="menu aboutus">About Us</a></div>
{% render_block "js" %}
</body>
</html>
显示带有如下菜单的主页
(通过使用一些CSS样式)
home.html
因此,当我点击链接 About Us
About Company Services
Our Management Team
时,网址生成为About Us
,当我们点击http://localhost:8000/about-us/
时,网址生成为About Company Services
和{{1} }立即点击http://localhost:8000/about-us/about-us
时。因此,网址会附加到上一个网址,而不是附加到http://localhost:8000/about-us/about-us/our-management-team/
。
我使用django-cms admin中创建的模板
创建了所有页面Our Management Team
上面的代码中有什么问题,为什么网址会附加到以前的网址而不是附加到域名?
如何从django-cms管理员创建domain name
到 Page Name slug
About Us about-us
About Company Services about-us
Our Management Team our-management-team
实际上我想在childs(About Company Services,Our Management Team )
页面下创建两个页面parent(About Us)
,我们如何才能在django-cms admin中实现这一目标
任何人都可以让我知道django-cms中菜单的概念,我已经尝试并阅读了(About Company Services,Our Management Team )
的文档,但无法理解About Us
如此接近django-cms many many many times
的概念
答案 0 :(得分:3)
如果这是您在admin部分(/admin/cms/page
)中的页面布局:
- Home (level=0)
- About Us (level=1)
- About Company Services (level=2)
- Foo Bar (level=3)
- Our Management Team (level=2)
- Some Other Section (level=1)
- Some Sub Section (level=2)
- ...
当您打印{% show_menu A B C D %}
时,您正在呈现ul
菜单,其中A,B,C&amp; D是指定菜单配置的数字。
A = Start
B = End
C = Inactive
D = Active
所以{% show_menu 1 2 0 100 %}
A=1
表示在级别1开始导航,即排除级别为0的Home
B=2
表示将导航向下渲染到第2级,即排除Foo Bar
C=0
表示对于非活动路径,显示0级别。因此,如果我们当前位于About Us
页面,我们将看不到Some Other Section
下方菜单中的任何链接(因为这是一条非活动状态),但我们仍会看到About Company...
和{{ 1}}(因为这是一条活跃的小道)Out Management...
表示对于当前有效的跟踪,显示为100个级别(这就是我们看到上述D=100
和About Company...
的原因)结果是:
Our Management
答案 1 :(得分:1)
使用{%show_menu%}模板标记来呈现菜单。请务必阅读相关文档。