2015-02-18 8 views
0

Я предоставил CSRF в views.py и включил csrf_token в шаблоны, но поиск по-прежнему не работает из-за «сбоя csrf_token».Почему мой токен CSRF не работает в Django?

views.py Мой код:

args = {} 
args.update(csrf(request)) 
args['articles']= Article.objects.all() 
args['lang'] = language 
args['session_language']=session_language 
return render_to_response('articles.html', args) 

и код шаблона

<h3>Search</h3> 
{% csrf_token %} 
<input type='text' id='search' name='search' /> 
+0

Нам, вероятно, нужно будет увидеть больше кода и стек. –

+0

Что вы пытаетесь сделать? Где ваша форма и как вы ее подаете? – Leticia

+0

Является ли 'csrf_token' внутри тега' form'? Является ли это регулярной формой HTML 'form' submit (вы используете какой-то AJAX)? –

ответ

0

csrf_token просто строка, которая требуется, что вам нужно сделать что-то с ним. Для начала, захват его в вашем шаблоне в сценариях будет означать, что javascript «осознает» его.

{# Place this somewhere in your template #} 
<script type="text/javascript"> 
    var csrf_token = "{{ csrf_token }}"; 
</script> 

После этого, как вы отправите запрос AJAX до вас, но теперь вы можете использовать это как часть вашего представления POST.

0

Вам нужно передать значение токена csrf в каждый сделанный запрос POST.

Смежные вопросы