使用以下渲染器...
from django.shortcuts import render
...
return render(request, 'template.html', {'context':context,})
是否可以覆盖render classe的方法,以便在某些情况下我可以自己解释模板标签,例如,如果我找到包含某种格式的标签,例如...
{% url 'website' page.slug %}
我可以指出......
/theme/theme-1/page.html
或
/theme/theme-2/page.html
取决于绝对的设置。
答案 0 :(得分:1)
Trace
方法只是以下的快捷方式:
render
因此,尝试更改url标记的行为不是正确的地方。
对于您提供的示例,网站看起来应该是包含template = loader.get_template(''template.html')
context = {
...,
}
return HttpResponse(template.render(context, request))
或theme-1
的变量。然后,您可以将变量传递给url标记,而不是字符串theme-2
。
'website'
如果无法做到这一点,您可以创建一个custom template tag {% url website page.slug %}
,根据您的设置返回正确的网址。