【问题标题】:django-cms apphook with relative urls带有相对 url 的 django-cms apphook
【发布时间】:2012-03-28 17:12:35
【问题描述】:

使用:django-cms 2.2、python 2.7、django 1.3.1

我有附加到一些 django-cms 页面的 Apphook。它有网址:

url(r'^(?P<gallery_id>\d+)-?.*$','details', name='gallery_details'),

假设这个页面有 url /galleries_foo/ (slug)

当我在模板中生成画廊{% url gallery_details gallery.id %} 的网址时,我得到了网址/galleries/1。我想得到的是/galleries_foo/1/。我做错了什么,甚至可以使用 django-cms 吗?

【问题讨论】:

    标签: python django django-cms


    【解决方案1】:

    您应该将 'foo' 设为 url 参数。例如:

    url(r'^(?P<gallery_id>\d+)-?(?P<slug>.*)$','details', name='gallery_details'),
    

    将启用:

    {% url gallery_details gallery.id gallery.slug %}
    

    也就是说,如果 slug 是唯一的,则根本不需要 id。

    【讨论】:

    • 是的,但问题不在这里。据我了解,它不会在创建页面后重新加载 url,也不会创建 url。如果我重新启动服务器就可以了。
    • “创建页面”是什么意思?当 Python 代码更改时,服务器应该重新加载,这是肯定的。
    • 当我创建 django-cms 页面 + 附加 apphook 时,它会将菜单 URL 附加到该页面 URL。问题是除非我重新启动 django 应用程序,否则它不起作用。我在这里找到了它:code.michaelrog.com/franckbret/cmsplugin-photologue/overview:-向页面添加插件,或将“Photologue 插件应用程序”和“Photologue 插件导航”附加到页面(您可能需要重新启动服务器进程才能使附加页面的 url 工作,一些django-cms 如何缓存 url)
    • 我希望 django-cms 不做 url 缓存之类的事情。服务器启动时,url 会在 python 中加载。当您更改 urls 时,您更改了 python,您必须重新启动服务器。就是这样:)
    猜你喜欢
    • 2013-05-09
    • 2011-07-26
    • 2012-03-30
    • 2011-07-26
    • 2019-01-14
    • 2015-09-04
    • 1970-01-01
    • 2017-11-15
    • 2014-08-31
    相关资源
    最近更新 更多