Jade templates django - 在urls.py中使用捕获的url值

时间:2013-04-05 17:31:54

标签: django pug pyjade

我想使用我的Django应用程序提供“静态”javascript模板。通常你把它们放在静态文件夹中就是这样。这里的问题是模板不是真正的静态,它们是需要预编译的 jade (pyjade)模板。
我的计划是将模板放在应用程序的 templates 目录的子目录中,让我们称之为 jstemplates ,然后从urls.py文件中提供这些模板,就像这样:

...
url(r'^jstemplates/(?P<template>.*)', TemplateView.as_view(template_name=<captured_name>)),
...

但是如何获取捕获的模板名称?

1 个答案:

答案 0 :(得分:0)

更好地思考,我认为捕获的属性在视图实例化之前不可用,所以我创建了一个名为JsTemplateView的TemplateView子类。

class JsTemplateView(TemplateView):
    def get_template_names(self):
        return "jstemplates/%s.jade" % self.kwargs['template']

并在urls.py url(r'^jstemplates/(?P<template>.*)', JsTemplateView.as_view()

中添加了相应的行