Django - 基于URL的静态内容显示

时间:2010-04-24 19:37:49

标签: django content-management

我正在使用基本三列设计的Django网站。左列导航,中心列内容和右列URL特定内容块。

我的问题是关于在右栏中控制特定于URL的内容块的最佳方法。

我正在考虑Flatpages应用程序的内容,如果URL与预定模式(可能是正则表达式?)匹配,将使内容可用于模板上下文。

有谁知道这样的应用程序是否已经存在?

如果没有,我正在寻找一些关于实施它的最佳方法的建议。特别是关于模式与当前URL的匹配。有没有什么好方法可以重用Django URL调度程序的部分用于此用途?

3 个答案:

答案 0 :(得分:1)

对于这样的事情,我个人会使用Django CMS。这就像类固醇上的平板一样。

Django CMS有一个页面,模板和插件的概念。每个页面都有一个关联的模板。模板具有占位符,您可以在其中插入不同的插件。插件就像迷你应用程序,可以使用基于动态模型的内容。

答案 1 :(得分:1)

Django CMS是一个很好的建议,它取决于你想要的深度。如果这只是您想要的各种动态内容的开始,那么您应该确保这样做。

一个简单的一次性解决方案就是这样:

你只需要编写一个视图,并在URL的末尾添加一些变量来定义那里显示的内容。根据您需要获得的花哨程度,您可以创建一个简单的模型,并将视图映射到模型键

www.example.com/content/sidecontent/jokes /

所以,如果“笑话”是你的变量sidecontent(你们这边的模型实例中的众多之一)的块,那么urls.py条目就是

(r'^content/sidecontent/(?P<side>)/$,sides.views.showsides),

然后在你的身边应用程序中你有一个带

的视图
def showsides(request, side):
    Sides.objects.get(pk=side)

等...

答案 2 :(得分:0)

尽管Django-CMS是一个有趣的建议,但是有很多项目专门针对您的要求 - 根据URL呈现内容块。我所知道的主要是django-flatblocks