我正在使用基本三列设计的Django网站。左列导航,中心列内容和右列URL特定内容块。
我的问题是关于在右栏中控制特定于URL的内容块的最佳方法。
我正在考虑Flatpages应用程序的内容,如果URL与预定模式(可能是正则表达式?)匹配,将使内容可用于模板上下文。
有谁知道这样的应用程序是否已经存在?
如果没有,我正在寻找一些关于实施它的最佳方法的建议。特别是关于模式与当前URL的匹配。有没有什么好方法可以重用Django URL调度程序的部分用于此用途?
答案 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。