选择起始页 django-cms
Posted
技术标签:
【中文标题】选择起始页 django-cms【英文标题】:Choose the start page django-cms 【发布时间】:2012-06-01 07:17:23 【问题描述】:django-cms 总是使用最顶层的页面作为开始/登陆页面。我现在想要一个看起来像 foo-home-bar 和 home 的导航作为登录页面。
一种方法是在 / 添加一个重定向到 /home 的虚拟页面,但这对我来说似乎有点粗糙。有没有更好的解决方案?我不介意更改 cms 本身的代码。
【问题讨论】:
【参考方案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>
并且在导航中只包含 bar 和您想要的其他页面,而不是 foo 或 home。
主页上有一个其他页面没有的图标,表示我猜的根页面。
【讨论】:
【参考方案2】:最简单的方法是使用 django 的重定向通用视图,而不是创建重定向页面。
在您的*** urls.py 中设置它
url(r'^$', RedirectView.as_view(url='/home/')),
当然,在开头添加 from django.views.generic.base import RedirectView
导入,你应该已经准备好了。
('^$'
只捕获根 url 和 RedirectView 重定向到任何你想要的地方。我有点不确定自己是否使用它,但我看到很多主要网站在你访问他们的网站时进行重定向.. .)
【讨论】:
【参考方案3】:cms_page 表中tree_id 编号最小的页面是主页。这通常是您创建的第一个页面。如果您想将不同的页面设置为主页,您可以手动更改数据库中的 tree_id 值(但不幸的是,不能使用管理员。)
【讨论】:
以上是关于选择起始页 django-cms的主要内容,如果未能解决你的问题,请参考以下文章
office word2016之:从指定页插入页码,并将该页作为起始页