11

検索結果の URL に csrf を含めます。なぜそこにあるのか、それを削除する方法がわかりません。検索はうまくいきます。URLはこちら

/search/?csrfmiddlewaretoken=675d1340034e094866d15a921407e3fc&q=testing

ここにビューがあります:

def search(request):
    query = request.GET.get('q', '')
    rezult = []
    if query:
    qset1 = (
        Q(title__icontains=query) 
    )
    result = Product.objects.filter(qset1).distinct()
    if result.count() == 1:
        return HttpResponseRedirect(result[0].get_absolute_url())
    return render_to_response('search/search.html',{'query': query, 'result': result, },context_instance=RequestContext(request))

ありがとう

4

3 に答える 3

22

テンプレートのフォームから削除{% csrf_token %}します。GET リクエストを行っているため、必要ありません。

于 2013-02-24T10:09:47.893 に答える
4

you added {% csrf_token %} in your form. if you dont need csrf remove this from your form and add csrf_exempt.

look at this sample of django:

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
     return HttpResponse('Hello world')
于 2013-02-24T10:17:47.510 に答える
1

{% csrf_token %}検索フォームのinput要素の 1 つにを追加したと思います。これにより、フォームとともにトークンが送信されます。

検索フォームのテンプレートを確認してください。

于 2013-02-24T10:07:40.087 に答える