代码之家  ›  专栏  ›  技术社区  ›  muhuk

Django.contrib.flatages(不含模型)

  •  6
  • muhuk  · 技术社区  · 17 年前

    我有一些空白的平页 content 模板内的字段及其内容(用 template_name 现场)。

    我为什么使用 django.contrib.flatpages

    • 它允许我以最少的URL配置提供(主要是)静态页面。
    • 我不必为他们每个人写意见。

    为什么我不需要模型 FlatPage

    • 我将内容留空,只提供一个模板路径。因此,我可以利用文件中的源代码;
      • 我可以直接从文件系统编辑源代码,而无需服务器(如管理员)的帮助。
      • 我可以利用语法高亮和其他编辑器功能。
    • 使用该模型,我必须维护平板电脑的固定装置。
      • 因此,同一实体的数据位于两个不同的位置。
      • 如果我将内容移动到夹具内,将更难编辑。
        • 即使夹具维护不是问题,我仍然需要在开发过程中一次又一次地转储和加载这些夹具。

    我在找什么

    基本上;摆脱 平面页面 模型同时维护 contrib.flatpages 功能。我不清楚应该如何解决这个问题。如果有一种干净的修改方式(比如 add_to_class ) FlatPages 为了在数据库之外的其他地方获取信息,我更喜欢这样。也许元数据可以插入到模板中,然后一个读取此数据的特殊管理器将取代默认的管理器 平面页面 .

    如果我不喜欢对平面页面进行手动编辑而不是管理功能,那么如何将数据库从等式中删除呢?

    1 回复  |  直到 17 年前
        1
  •  9
  •   Wladimir Palant    13 年前

    使用 direct_to_template 通用视图会简单得多。如果你不想为每个页面添加一个条目,你可以在一个视图上使用传入的参数来指定urls.py中的实际模板:

    r'^foo/(?P<template_name>.+)/$','direct_to_template', {'template': 'foo_index.html'}),
    

    然后将模板导入到 foo_index.html :

    {% include template_name %}
    
    推荐文章