Django Flatpages网址加载相同的模板

时间:2013-04-23 08:43:04

标签: python django

我已根据http://linfiniti.com/2011/01/bending-django-flatpages-to-your-will/

扩展了FlatPages应用

我正在尝试为flatpages实现catchall url模式。

这是主要主应用

下的url.py上的模式
urlpatterns = patterns('',
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    (r'^admin/', include(admin.site.urls)),
    (r'^.*/$', include('app.modules.cms.urls')),
)

此模式位于扩展的flatpages模块

urlpatterns = patterns('app.modules.cms.views',
    (r'^(?P<url>.*)$', 'flatpage'),
)

当我尝试查看通过管理员创建的不同页面时。它们都显示相同的模板。在使用django工具栏检查时,我注意到url没有传递给flatpages视图函数,

View Function                   args    kwargs
app.modules.cms.views.flatpage  None    url=

我使用了错误的正则表达式模式,还是需要更多其他功能才能使其正常工作。

/感谢

1 个答案:

答案 0 :(得分:0)

Django docs似乎建议这样做......

urlpatterns = patterns('',
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    (r'^admin/', include(admin.site.urls)),
    (r'^(?P<url>.*)$', 'app.modules.cms.views.flatpage'),
)

......虽然它可能会这样运作......

urlpatterns = patterns('',
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    (r'^admin/', include(admin.site.urls)),
    (r'^/', include('app.modules.cms.urls')),
)