HTTP引荐问题
我有一个视图在渲染一个静态页面,但我似乎无法获取到这个页面的来源地址。
def landing(request, referer='google'):
''' Loads the landing page '''
msg = ''
if request.method == 'GET':
referer = request.META['HTTP_REFERER']
return render_to_response('index.html',
{'WSGI_DIR': settings.WSGI_DIR,'csrf_value': get_token(request),
'referer':referer},context_instance=RequestContext(request))
它总是弹出这个错误:
KeyError at / 'HTTP_REFERER'
我已经导入了所有需要的东西。有没有人知道怎么回事?
2 个回答
4
做这个修改可以解决键错误的问题:
referer = request.META.get('HTTP_REFERER', '')
10
你应该使用 request.META.get('HTTP_REFERER')
。并不是每次请求都会有一个 Referer
头,如果没有的话,你就会遇到这个错误。你可以检查一下 get()
的结果是不是 None
,这样就能知道这个头是否被发送过。