我有一些带有空content
字段的平面页面及其内容在模板中(用template_name
字段给出).
django.contrib.flatpages
它允许我(大多数)提供最少URL配置的静态页面.
我不必为每个人写出观点.
FlatPage
我将内容留空,只提供模板路径.因此,我可以利用文件中的源;
我可以直接从文件系统编辑源代码,无需服务器(如admin)的帮助.
我可以利用语法高亮和其他编辑器功能.
使用该模型,我必须维护平板的固定装置.
因此,同一实体的数据位于两个单独的位置.
如果我在夹具内移动内容,则编辑起来会更困难.
即使夹具维护不成问题,我仍然需要在开发期间一次又一次地转储和装载这些夹具.
基本上; FlatPage
在保持contrib.flatpages
功能的同时摆脱模型.我不清楚如何解决这个问题.如果有一种干净的修改方式(比如add_to_class
)FlatPages
以获取除数据库之外的其他地方我更喜欢的信息.也许元数据可以插入到模板中,然后读取此数据的特殊管理器将替换默认的管理器FlatPages
.
如果我不喜欢对flatpages的管理功能进行手动编辑,那么如何将数据库排除在外?
使用direct_to_template
通用视图会更简单.如果您不想为每个页面添加条目,可以在一个视图上使用传入的参数来指定urls.py中的实际模板:
r'^foo/(?P.+)/$','direct_to_template', {'template': 'foo_index.html'}),
然后导入模板foo_index.html
:
{% include template_name %}