Ich arbeite derzeit an einem Projekt basierend auf Django-Framework, die Apis erstellt werden müssen, die POST-Anfragen nur mit Ausnahme von ein oder zwei, die GET-Anfragen erhalten können. Eine dieser Apis, etwa/x /, wird bei der Einreichung des Formulars mit dem Methodentyp als POST aufgerufen. Die an dieses api/x/angehängte Ansicht ändert die Anforderung und muss dann eine andere API aufrufen (say/y /) oder anzeigen, die wiederum nur POST-Anfragen akzeptiert. Mein Code ist wie folgt:zum Umleiten an URL, die POST-Anfragen nur in Django akzeptiert
views.py
from django.template import RequestContext
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate,login,logout
from django.http import HttpResponseRedirect, HttpResponse
from django.contrib.auth.decorators import login_required
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
import logging
#print "__name__ : " + __name__
logger = logging.getLogger('django.request')
logger_info = logging.getLogger('correct_info')
#to_be_commented
@api_view(['POST','GET'])
def load_filter(request):
context = RequestContext(request)
if request.method == 'POST':
print request.data
filter_list = request.POST.getlist('profile')
print filter_list
stdd_filters = ['gender','state','country','examEnrolled','examDefault','examSelected']
profFilters = {}
#profFilters['filters'] = {}
for flter in stdd_filters:
if flter in filter_list:
profFilters[flter] = request.POST.getlist(flter)
else:
profFilters[flter] = []
print profFilters
if not request.POST._mutable:
request.POST._mutable = True
request.POST['filters'] = profFilters
if 'AND' in request.data:
print "TRUE AND"
**#problem here**
#return redirect('profile_filter_and')
return HttpResponseRedirect('../filtered/and/')
elif request.method == 'GET':
return render(request,"filters.html",{})
@api_view(['POST'])
def profile_filter_and(request):
if request.method == POST:
#entire code
Ich habe versucht, beide umleiten und HttpResponseRedirect Methoden aber beide die URL oder die View-Funktionen als GET-Request aufrufen, aufgrund derer ich die bekommen Folgefehler:
während ich die Umleitung als POST-Anfrage an die URL oder Ansicht möchte, da es nur POST-Anfragen akzeptiert. Ich habe versucht, im Internet nach dem gleichen zu suchen, aber habe nichts fruchtbares. Ich bin Anfänger bei der Entwicklung von Apis im Django. Also, bitte Hilfe.