http://www.example.com/soe/?param1=val1
这是当前网址,我想在django模板中访问变量{{param1}}。 (Django 1.7)
我知道已经有很多线程可用于此问题,但所有线程都使用ContextProcessor。(或render_to_response)
我只是使用return render(request, template, {})
而不想使用ContextProcessors。
解决这个问题的一种方法是在渲染时传递param1的值,我的意思是
return render(request, template, {'param1': request.GET.get('param1')})
但我只是想知道我是否可以在模板中访问此变量?因为可能有10个参数。
答案 0 :(得分:0)
您可以尝试在django模板中使用自定义标记。
答案 1 :(得分:0)
以下将实际运作...
{{ request.GET.param1 }}
...只要您在设置文件中启用了默认django.template.context_processors.request
即可。
DJANGO_CONTEXT_PROCESSORS = (
# ...any other context processors you want to run
'django.core.context_processors.request',
)
所有这一切都是将请求对象放在模板上下文中,然后您可以使用它来访问url参数。这正是您正在寻找的功能。请参阅here。
您唯一的另一个选择是明确地将参数传递给模板,如您在问题中所述。