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

在django中启用应用程序模板重写?

  •  1
  • gct  · 技术社区  · 15 年前

    我正在编写一个简单的站点来显示一些数据的统计信息,我有一个名为“stats”的应用程序,我想为它编写默认模板(stats/templates/stats中的位置),但是我希望这些模板可以像管理应用程序的模板一样被重写。ie:如果我把stats/view.html放在项目的templates目录中,它将被使用,而不是放在我的apps目录中。我好像不太明白怎么做。我怎样才能让django在项目的模板加载到应用程序之前搜索它?

    编辑:找到了问题,看了某人使用os模块设置模板目录的教程。他们有:

    TEMPLATE_DIRS = (
        os.path.join(os.path.basename(__file__), 'templates')
    )
    

    应该是:

    TEMPLATE_DIRS = (
        os.path.join(os.path.dirname(__file__), 'templates')
    )
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   muhuk    15 年前

    你需要把 filesystem 装载机 之前 app_directories 你的装载机 TEMPLATE_LOADERS 设置。

    TEMPLATE_LOADERS = (
        'django.template.loaders.filesystem.load_template_source',
        'django.template.loaders.app_directories.load_template_source'
    )
    

    秩序 模板装载机 物质。