我是Django的新手。在我的模板上,如果访问者来自某个页面,我想显示一条消息。例如,如果用户来自www.abcdef.com,则页面将显示消息:
您好!
如果用户来自任何其他网址,则不会显示该消息。我一直在忙着{{request.META.HTTP_REFERER}},但我还是迷路了。提前致谢!
答案 0 :(得分:0)
如果您使用链接在页面之间导航,则可以在链接中对其进行硬编码,以便:
<a href='/main/welcome?from={{path|urlencode}}'>
在您重定向到的页面中,使用
page=request.GET.get('from', None)
获取用户来自的位置,并从那里设置逻辑。
答案 1 :(得分:0)
在您的视图中确定HTTP Referrer并将其与您的上下文一起传递,您不必通过您可以在布尔上下文变量中传递的引用者,或两者 - 我建议 - 这将允许您执行保持一个更清洁的模板,并允许您更恰当地定制消息。
获取推荐人:
https://stackoverflow.com/questions/4406377/django-request-to-find-previous-referrer
通过上下文变量发送变量后,请尝试在模板中检查它们。我添加了refer_approved_source,您可以根据列表进行检查,并在视图中设置它不必具有仅用于说明目的的名称。
{% if refer_approved_source == 'source' %}
It looks like you are from {{refer}}
{% endif %