Die anzeigen kamen nicht wieder ein HttpResponse-Objekt. Es kehrte Keine statt. Request Method: POST
Das problem erscheint, wenn ich das Formular abschicken. Vor ein paar Tagen hat es geklappt, habe nichts verändert in diesem code, aber jetzt scheitert es. Ist es möglich, dass verschiedene module ermöglicht, dass ein Teil des Codes abgestürzt?
Traceback:
Umgebung:
Request Method: POST
Request URL: http://127.0.0.1:8000/users/new/
Django Version: 1.7.3
Python Version: 3.4.0
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mojblog',
'users')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/home/marta/django/djangovenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
130. % (callback.__module__, view_name))
Exception Type: ValueError at /users/new/
Exception Value: The view users.views.create didn't return an HttpResponse object. It returned None instead.
Code:
from django.shortcuts import render, redirect
from django.http import HttpResponse
from users.forms import UserCreationForm
from django.contrib.auth.models import User
from users.models import Profile
def test(request):
return HttpResponse('users!')
def create(request):
if request.method =="POST":
new_user=User()
form = UserCreationForm(request.POST, instance=new_user)
if form.is_valid():
new_user=form.save(commit=False)
new_user.is_active=False
new_user.save()
return redirect("users:new")
else:
form = UserCreationForm()
return render(request, 'users/create.html', {'form1': form})
# else:
# return HttpResponse("something")
def activate(request, key):
profile=Profile.objects.get(secret=key)
user=profile.user
user.is_active=True
user.save()
return render(request, 'users/activate.html', {})
- Hast du zu sagen
HttpResponse("something")
funktioniert nicht.?wenn ja, ist es aufelse
ZustandPOST
.Also, wennPOST
ist, wird es nicht ausgeführt.ODER eingerückt werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der
create
anzeigen, wenn die Anforderung eine POST, aber die form ist nicht gültig, der code nichts zurück.Haben, anstatt eine separate GET-block, sollten Sie die standard-Muster:
In diesem Fall die endgültige Rückkehr Fänge diesem Fall, und erneut rendert das Formular, so dass es zeigt den Fehler.