django-cms始终使用最顶层的页面作为开始/登录页面。我现在想要一个看起来像这个 foo-home-bar 和 home 的导航作为登陆页面。
一种方法是在/重定向到/ home添加一个虚拟页面,但这对我来说似乎有些粗糙。有没有更好的解决方案?我不介意改变cms本身的代码。
答案 0 :(得分:3)
最简单的方法,而不是创建一个重定向页面,只是使用django的重定向通用视图。
将其设置在您的顶级urls.py
url(r'^$', RedirectView.as_view(url='/home/')),
当然在开头添加from django.views.generic.base import RedirectView
导入,你应该全部设置。
('^$'
只捕获根网址和RedirectView重定向,无论你想要什么。我有点不确定自己使用它,但我看到很多主要网站在你进入他们的网站时进行重定向...)
答案 1 :(得分:1)
您创建的第一个页面似乎是主页,只需根据需要添加其他根页面并启用它们的导航。这就是我所做的。
我们的第一页是测试,然后是一些子页面。在管理页面中,您可以单击并拖动页面以更改子/父订单。我们将test重命名为home并将子页面移动到另一个根页面。
您还可以通过在menu / menu.html中创建模板来覆盖默认菜单
在那里,您可以通过添加一些if语句来覆盖订单。
您也可以在base.html中对其进行硬编码,其菜单类似于:
<ul id=menu>
<li><a href="/foo/>foo></a></li>
<li><a href="/">Home</a></li>
{% show_menu %}
<ul>
只需要在导航中使用条形图和其他页面,但不要使用foo或home。
主页上有一个图标,其他页面不会,表示我猜的根页。
答案 2 :(得分:0)
cms_page表中编号最小的tree_id的页面是主页。这通常是您创建的第一个页面。如果要在主页上创建不同的页面,可以手动更改数据库中的tree_id值(但遗憾的是不能使用admin。)