使用以下渲染器...
from django.shortcuts import render
...
return render(request, 'template.html', {'context':context,})是否可以覆盖render类的方法,以便在某些情况下我可以自己解释模板标记,例如,如果我发现一个由某种格式组成的标记,例如...
{% url 'website' page.slug %}我可以把它指向...
/theme/theme-1/page.html或
/theme/theme-2/page.html这取决于特殊的设置。
发布于 2017-07-07 21:47:15
render方法只是执行以下操作的快捷方式:
template = loader.get_template(''template.html')
context = {
...,
}
return HttpResponse(template.render(context, request))因此,这不是尝试改变url标签行为的正确地方。
对于您给出的示例,网站看起来应该是一个保存theme-1或theme-2的变量。然后,您可以将变量传递给url标记,而不是字符串'website'。
{% url website page.slug %}如果这是不可能的,您可以创建一个custom template tag my_url,它根据您的设置返回正确的url。
https://stackoverflow.com/questions/44972056
复制相似问题