Проблема HTTP реферера - PullRequest
       1

Проблема HTTP реферера

3 голосов
/ 09 сентября 2011

У меня есть это представление, визуализирующее статическую страницу, но я не могу отловить реферер страницы

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 в / 'HTTP_REFERER'. Я импортировал все необходимое. У кого-нибудь есть подсказка?

Ответы [ 2 ]

8 голосов
/ 09 сентября 2011

Вы должны использовать request.META.get('HTTP_REFERER').Не каждый запрос будет иметь заголовок Referer, и если его не будет, вы получите именно это исключение.Проверьте, не является ли результат get() значением None, чтобы увидеть, был ли отправлен заголовок.

3 голосов
/ 09 сентября 2011

Внесите это изменение, чтобы исправить ошибку ключа:

referer = request.META.get('HTTP_REFERER', '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...