选择开始页面django-cms

时间:2012-05-25 17:34:44

标签: django django-urls django-cms

django-cms始终使用最顶层的页面作为开始/登录页面。我现在想要一个看起来像这个 foo-home-bar home 的导航作为登陆页面。

一种方法是在/重定向到/ home添加一个虚拟页面,但这对我来说似乎有些粗糙。有没有更好的解决方案?我不介意改变cms本身的代码。

3 个答案:

答案 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。)