0

我是 Django 的新手。在我的模板上,如果访问者来自某个页面,我想显示一条消息。例如,如果用户来自 www.abcdef.com,则页面将显示以下消息:

你好呀!

如果用户来自任何其他 url,则不会显示该消息。我一直在搞乱{{request.META.HTTP_REFERER}},但我还是迷路了。提前致谢!

4

2 回答 2

0

如果您使用链接在页面之间导航,则可以在链接中对其进行硬编码,以便:

 <a href='/main/welcome?from={{path|urlencode}}'>

在您被重定向到的页面中,使用

 page=request.GET.get('from', None)

获取用户来自哪里,并从那里设置您的逻辑。

于 2013-01-30T04:34:15.710 回答
0

在您的视图中确定 HTTP 引用者并将其与您的上下文一起传递,您不必传递可以在布尔上下文变量中传递的引用者,或者两者都传递 - 我会推荐 - 这将使您保持更清洁模板,并允许您更适当地定制消息。

获取推荐人:

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 %
于 2013-01-30T04:34:56.287 回答