3

我正在开发一个具有基本三栏设计的 Django 站点。左栏导航、中栏内容和右栏 URL 特定内容块。

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

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

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

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

4

3 回答 3

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)

ETC...

于 2010-04-24T20:37:09.043 回答
1

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

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

于 2010-04-24T19:49:12.000 回答
0

尽管 Django-CMS 是一个有趣的建议,但仍有不少项目专门按照您的要求进行 - 基于 URL 呈现内容块。我知道的主要是django-flatblocks

于 2010-04-25T08:08:15.903 回答