26👍
✅
verify the indentation of your code
def classroom_privacy(request, classname):
theclass = Classroom.objects.get(classname=classname)
if request.method == 'POST':
form = PrivacyClass(request.POST)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.save()
return HttpResponseRedirect('.')
else:
form = PrivacyClass()
return render_to_response('classroom/classroom_privacy.html', {'form': form}, context_instance=RequestContext(request))
if it is get request, render a unbound form
if it is post request and invalid form render a bound form
if it is post request and valid form redirect the page
7👍
All view functions must return some kind of HttpResponse object. There exists a code path in your function where None
will be returned instead. This will occur when request.method != 'POST'
and you’ll simply “fall off the end” of your function (which will return None
).
0👍
If you are using the Django Rest framework. Use the below code to return the HTTP response to resolve this issue.
from django.http import HttpResponse
def TestAPI(request):
# some logic
return HttpResponse('Hello')
JSON Response return example:
def TestAPI(request):
your_json = [{'key1': value, 'key2': value}]
return HttpResponse(your_json, 'application/json')
For more details about HttpResponse:
https://docs.djangoproject.com/en/3.1/ref/request-response/#django.http.HttpResponse
- Pretty and seo friendly urls in django
- How to parse URL encoded data recieved via POST
- Django: Change models without clearing all data?
- Django DecimalField generating "quantize result has too many digits for current context" error on save
Source:stackexchange.com