Django Direct_to_template或flatpages

时间:2010-08-17 17:05:58

标签: django static-content django-flatpages

使用网站前面的一些主要静态页面构建django应用程序,例如about.html faq.html

那种事情

我正在研究urls.py是如何工作的,我创造了这个。

('(.+\.html)$', direct_to_template),

它似乎完全符合我的需要。现在,对于任何新的.html页面,我都会添加到我的模板文件夹的根目录中。 templates / about.html templates / faq.hml

我也可以在我的模板中使用这样的东西

{% include "_menu.html" %}

现在有人亲切地指出了Django FlatPages,并建议我可以使用它们。如果我没有连接数据库,我的方式有任何不利之处。

对我而言似乎比FlatPages更好的方法,因为它使用数据库并且不是那么优雅(实际上并没有实际使用平板)

3 个答案:

答案 0 :(得分:2)

如果您可以直接编辑模板文件并手动将新的文件添加到urls.py文件中,那么请坚持使用您所拥有的文件。如果您希望能够从管理界面或您可能需要设计的任何基于Web的编辑工具编辑页面内容,或者更重要的是,如果您希望非技术用户能够编辑内容。

答案 1 :(得分:1)

我建议更进一步。如果你的静态内容不经常更改并且没有使用Django的模板,那么不要使用Django来提供它们。请使用轻量级服务器,例如Nginx。

如果您确实使用Django的模板功能而不需要数据库中的任何动态内容,那么您可以坚持使用direct_to_template

答案 2 :(得分:1)

使用FlatPages的一个优点是,您可以将Django模板用于标题,侧边栏,页脚(以保持一致的网站外观),同时仍然使用大多数纯HTML作为页面内容。这被页面内容存储在数据库表中的需要所抵消。

我的建议?如果您正在做的是满足您的需求,请坚持使用有效的方法。