Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Не могу побороть ошибку CSRF verification failed. Request aborted. [RSS Feed]

#1 Июнь 25, 2015 13:17:00

dezinfo
Зарегистрирован: 2015-05-23
Сообщения: 52
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

Не могу побороть ошибку CSRF verification failed. Request aborted. Убил день, перечитал что только можно. Идеи закончились.


urls <>

from django.conf.urls import patterns,url



urlpatterns = patterns ('',
url(r'^all/$','article.views.articles'),
url(r'^get/(?P<article_id>\d+)/$','article.views.article'),
url(r'^language/(?P<language>[a-z\-]+)/$','article.views.language'),
url(r'^create/$','article.views.create'),
url(r'^like/(?P<article_id>\d+)/$','article.views.like_article'),
url(r'^add_comment/(?P<article_id>\d+)/$','article.views.add_comment'),
url(r'^search/$','article.views.search_titles'),
)
views<>
def search_titles(request):
    if request.method == 'POST':
        search_text = request.POST['search_text']
    else:
        search_text = ''
    articles = Article.objects.filter(title_contains=search_text)
    return render_to_response('ajax_search.html', {'articles' : articles})

ajax<>
$(function(){
 $('#search').keyup(function(){
    $.ajax({
        type:"POST",
        url:'/articles/search/',
        data: {
            "search_text": $("#search").val(),
            'csrfmiddlewaretoken':$("input[name=csrfmiddlewaretoken]").val()
        },
        success: searchSuccess,
        dataType:'html'
    });
});
});
function searchSuccess(data,textStatus,jqXHR){
    $('#search-results').html(data);
}

html<>

<h3>Search</h3>
 <input type="text" id="search" name="search"> {% csrf_token %}
 <ul id="search-results">
</ul>

Офлайн

#2 Июнь 25, 2015 14:11:24

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Не могу побороть ошибку CSRF verification failed. Request aborted.

В шаблон добавьте

{% csrf_token %}

или сделайте по инструкции:
https://docs.djangoproject.com/en/1.8/ref/csrf/#ajax

Офлайн

#3 Июнь 25, 2015 14:33:01

dezinfo
Зарегистрирован: 2015-05-23
Сообщения: 52
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

inoks
В шаблон добавьте
{% csrf_token %}
ну так а это что? Это из шаблона
<h3>Search</h3>
 <input type="text" id="search" name="search"> {% csrf_token %}
 <ul id="search-results">
</ul>

Офлайн

#4 Июнь 25, 2015 15:02:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

Офлайн

#5 Июнь 25, 2015 15:18:56

dezinfo
Зарегистрирован: 2015-05-23
Сообщения: 52
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

FishHook
Добавьте в render_to_response RequestContext, https://docs.djangoproject.com/en/1.8/ref/templates/api/#django.template.RequestContexthttps://docs.djangoproject.com/en/1.8/topics/http/shortcuts/#django.shortcuts.render_to_response


добавление RequestContext не помагает

Офлайн

#6 Июнь 25, 2015 15:48:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

'csrfmiddlewaretoken':$("input[name=csrfmiddlewaretoken]").val()
Это так то плохая идея, смотрите сюда
https://docs.djangoproject.com/en/1.6/ref/contrib/csrf/#ajax



Офлайн

#7 Июнь 25, 2015 16:27:12

dezinfo
Зарегистрирован: 2015-05-23
Сообщения: 52
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

FishHook
Это так то плохая идея, смотрите сюда
https://docs.djangoproject.com/en/1.6/ref/contrib/csrf/#ajax

Так заработало.

Отредактировано dezinfo (Июнь 25, 2015 16:47:52)

Офлайн

#8 Июнь 25, 2015 16:48:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Не могу побороть ошибку CSRF verification failed. Request aborted.

Article.objects.filter(title__contains=search_text)



Офлайн

  • Начало
  • » Django
  • » Не могу побороть ошибку CSRF verification failed. Request aborted.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version