【发布时间】:2013-03-01 08:51:58
【问题描述】:
我正在使用 django-cms 来设计一个网站,到目前为止,我必须创建一个带有菜单栏的基本主页,例如 About Us、Products、Contact Us 等,
我已经完成了django 和django-cms 的所有必要设置,激活了管理部分并且工作正常。
我创建了一个 Home Page template,其中包含 About Us、Products、Contact Us,并通过 django-cms admin 创建了一个名为 aboutus 的页面,并带有一个 slug about-us。
现在我已经给出了那个 slug about-us ,它只是 About Us 菜单的锚标记中的一个 url,所以当我点击链接时它工作正常并将我重定向到页面 aboutus 与 url浏览器为http://localhost:8080/aboutus。
但问题是,当我再次单击 aboutus 链接时,它会生成两次 url,就像 http://localhost:8080/aboutus/aboutus,我的意思是每次点击时,slug aboutus 都会附加到 url。
下面是我的代码
settings.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')),
)
.....
....
urls.py
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')),
)
home.html
{% 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>
以上是我的整体代码,其中home.html 显示一个主页,菜单如下
(通过使用一些 css 样式)
About Us
About Company Services
Our Management Team
所以当我点击链接About Us 时,生成的url 是http://localhost:8000/about-us/,当我们点击About Company Services 时,生成的url 是http://localhost:8000/about-us/about-us 和http://localhost:8000/about-us/about-us/our-management-team/,当点击Our Management Team 时。所以 url 是附加到前一个 url 而不是附加到 domain name。
我已经使用 django-cms admin 中创建的模板创建了所有页面
Page Name slug
About Us about-us
About Company Services about-us
Our Management Team our-management-team
那么上面的代码有什么问题,为什么url是附加到以前的url而不是附加到域?
如何从 django-cms admin 到 parent(About Us) 创建一个childs(About Company Services,Our Management Team )
其实我想在About Us页面下创建两个页面(About Company Services,Our Management Team ),我们如何在django-cms admin中实现这个
谁能告诉我django-cms中菜单的概念,我已经尝试并阅读了django-cms many many many times的文档但无法理解menus的概念所以接近SO
【问题讨论】:
-
你的问题很复杂。您对 django-cms 菜单系统到底有什么不明白的地方?
django-cms中的菜单反映了您在管理员中的页面布局。因此,如果您有两个页面“公司服务”和“管理团队”嵌套在一般“关于页面”下,那么当您使用{% show_menu ... %}呈现菜单模板标签时,生成的 HTML 将反映该页面布局。 -
例如 {% show_menu 0 0 %} 0 是什么,如果添加另一个 0 会怎样?
-
in {% show_menu 1 100 100 0 % } 这是什么意思?当数字被打乱时会发生什么? (实际上所有这些都在文档中提到,但无法准确地描述技术术语。。)
-
这是我的实际模板代码pastebin.com/tWqm6pry
标签: python django url menu django-cms