我有三个SurveyWizardViews,它们都使用相同的标准wizard_form.html,它位于templates / formtools / wizard / wizard_form.html as per the documentation
我在此模板中添加了一些基本逻辑,用于检测用户所在表单的哪个页面,以便我可以包含非标准页面/步骤,这是一个带有JS滑块的图像。一切都很完美。
{% if wizard.steps.current == '6' %}
<img src="{% static "survey/images/pathtwo/" %}{{display_image}}"/>
<section>
<span class="tooltip"></span>
<div id="slider"></div>
<span class="volume"></span>
</section>
{% endif %}
但是,我现在希望为用户提供稍微不同的体验,具体取决于他们来自哪个视图/网址。
问题是否可以检测视图当前用于查看页面的URL? e.g。
{% if URL.current == 'www.mywebsite.com/experiment/surveyone/' %}
do X
{% if URL.current == 'www.mywebsite.com/experiment/surveytwo/' %}
do y
我做了一些搜索,但我甚至不确定我要搜索的是诚实的。任何帮助将非常感激。
答案 0 :(得分:2)
您可以使用request
上下文变量。类似的东西:
{% if 'experiment/surveyone' in request.path %} do this {% endif %}
我更喜欢使用in
代替==
来忽略尾部和前导斜杠。如果你想要整个事情尝试build_absolute_uri
方法。同时检查请求提供给您的选项(https://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects)。
最后,不要忘记将django.core.context_processors.request
添加到TEMPLATE_CONTEXT_PROCESSORS
(我认为默认情况下会添加)。