我正在将请求传递给模板页面。在Django模板中,如何传递初始化新页面的上一页。我需要使用这个而不是history.go(-1)。
{{request.http referer}} ??
<input type="button" value="Back" /> //onlcick how to call the referrer
我正在将请求传递给模板页面。在Django模板中,如何传递初始化新页面的上一页。我需要使用这个而不是history.go(-1)。
{{request.http referer}} ??
<input type="button" value="Back" /> //onlcick how to call the referrer
HttpRequest
的META
属性中,它是HTTP_REFERER
(注意拼写)键值,所以我认为你应该能够像下面这样在模板中访问它:{{ request.META.HTTP_REFERER }}
在Shell中使用:
>>> from django.template import *
>>> t = Template("{{ request.META.HTTP_REFERER }}")
>>> from django.http import HttpRequest
>>> req = HttpRequest()
>>> req.META
{}
>>> req.META['HTTP_REFERER'] = 'google.com'
>>> c = Context({'request': req})
>>> t.render(c)
u'google.com'
Rajeev,这是我做的:
<a href="{{ request.META.HTTP_REFERER }}">Referring Page</a>
这对我有用 request.META.get('HTTP_REFERER')
使用这种方式,如果该值不存在,就不会出错,而是返回 None
get_queryset()
中获取referer:# "store/admin.py"
from django.contrib import admin
from .models import Person
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
def get_queryset(self, request):
print(request.META.get('HTTP_REFERER')) # Here
print(request.headers['Referer']) # Here
return super().get_queryset(request)
在控制台上输出:
http://localhost:8000/admin/store/person/ # request.headers['Referer']
http://localhost:8000/admin/store/person/ # request.META.get('HTTP_REFERER')