Найти - Пользователи
Полная версия: Не могу побороть ошибку CSRF verification failed. Request aborted.
Начало » Django » Не могу побороть ошибку CSRF verification failed. Request aborted.
1
dezinfo
Не могу побороть ошибку 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>
inoks
В шаблон добавьте
{% csrf_token %}

или сделайте по инструкции:
https://docs.djangoproject.com/en/1.8/ref/csrf/#ajax
dezinfo
inoks
В шаблон добавьте
{% csrf_token %}
ну так а это что? Это из шаблона
<h3>Search</h3>
 <input type="text" id="search" name="search"> {% csrf_token %}
 <ul id="search-results">
</ul>
dezinfo
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 не помагает
FishHook
'csrfmiddlewaretoken':$("input[name=csrfmiddlewaretoken]").val()
Это так то плохая идея, смотрите сюда
https://docs.djangoproject.com/en/1.6/ref/contrib/csrf/#ajax
dezinfo
FishHook
Это так то плохая идея, смотрите сюда
https://docs.djangoproject.com/en/1.6/ref/contrib/csrf/#ajax

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

FishHook
Article.objects.filter(title__contains=search_text)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB