ich eine Anmeldeseite erstellt, die Admin-Benutzer in django schafft dies ist, wie mein signup.html gleichMultiValueDictKeyError bei/Anmeldungen/„‚username‘“ in django
<h1>signup</h1>
<form method="post" action="{% url 'signup' %}">
username:
<br/>
<input type="text" name="username" >
<br/>
passwod:
<br/>
<input type="password" name="password1" >
<br/>
confirm passwod:
<br/>
<input type="password" name="passwod2" >
<br/>
<input type="submit" value="signup">
</form>
sieht, und das ist, wie ich mit geroutet meine uRL Ansichten:
from django.conf.urls import url
from django.contrib import admin
import accounts.views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^signup/', accounts.views.signup, name='signup'),
und hier ist meine Ansichten Abschnitt:
from django.shortcuts import render
from django.contrib.auth.models import User
from django.template import RequestContext
# Create your views here.
def signup(request):
if request.method == 'POST':
User.objects.create_user(request.POST.get('username') , password=request.POST.get('password1')
return render (request,'accounts/signup.html')
else:
return render (request,'accounts/signup.html')
aber wenn Ich habe versucht, den Server und geben Sie diese Details in Bezug auf Benutzername und Passwort beim Senden iam immer einen Fehler genannt MultiValueDictKeyError
MultiValueDictKeyError at /signup/
"'username'"
Request Method: POST
Request URL: http://127.0.0.1:8000/signup/
Django Version: 1.11.1
Exception Type: MultiValueDictKeyError
Exception Value:
"'username'"
Exception Location: C:\Python35\lib\site-packages\django\utils\datastructures.py in __getitem__, line 85
Python Executable: C:\Python35\python.exe
Python Version: 3.5.3
Python Path:
['D:\\python programs\\reddit\\redditclone',
'C:\\Python35\\python35.zip',
'C:\\Python35\\DLLs',
'C:\\Python35\\lib',
'C:\\Python35',
'C:\\Python35\\lib\\site-packages',
'C:\\Python35\\lib\\site-packages\\win32',
'C:\\Python35\\lib\\site-packages\\win32\\lib',
'C:\\Python35\\lib\\site-packages\\Pythonwin']
Server time: Wed, 1 Nov 2017 04:05:10 +0000
jede Art von Hilfe laufen geschätzt wird Dank im Voraus
Sir ich habe getan, was du mir gesagt hast, aber nachdem ich diese Zeile hinzugefügt habe, bekomme ich einen anderen Fehler als return render (Anfrage, 'accounts/signup.html') ^ SyntaxError: Ungültige Syntax, die in Zeile7 von meine views.py –
müssen Sie die Klammer in der vorherigen Zeile, nach der Passwort-Sache schließen, wird meine ans bearbeiten – Exprator
@Exprator müssen wir username = request.POST.get ('Benutzername') angeben, weil create_user Benutzername akzeptiert Als erstes Argument, E-Mail als zweites und Passwort als drittes. Also User.objects.create_user (request.POST.get ('username'), password = request.POST.get ('password1') genug? –