Python NoReverseMatch at/signup/-与#x27相反&书信电报;WSGIRequest:POST'/注册'&燃气轮机';找不到
我正在做的项目是博客网站,我被困在这个注册过程中,我希望它的功能就像注册后,用户登陆到主页上,但这显示了我上面的错误 视图。py:Python NoReverseMatch at/signup/-与#x27相反&书信电报;WSGIRequest:POST'/注册'&燃气轮机';找不到,python,html,django,Python,Html,Django,我正在做的项目是博客网站,我被困在这个注册过程中,我希望它的功能就像注册后,用户登陆到主页上,但这显示了我上面的错误 视图。py: def handleSignup(request): if request.method == 'POST': username = request.POST['username'] fname = request.POST['fname'] lname = request.POST['lna
def handleSignup(request):
if request.method == 'POST':
username = request.POST['username']
fname = request.POST['fname']
lname = request.POST['lname']
email = request.POST['email']
pass1 = request.POST['pass1']
pass2 = request.POST['pass2']
# creating users
myuser = User.objects.create_user(username, email, pass1)
myuser.first_name = fname
myuser.last_name = lname
myuser.save()
messages.success(request, 'your account have been successfully created!')
return redirect(request, "/home.html")
else:
return HttpResponse("error 404 not found")
urlpatterns = [
path("", views.home, name="home"),
path("contact/", views.contact, name="contact"),
path("about", views.about, name="about"),
path("signup/", views.handleSignup, name="handleSignup"),
]
<form action="/signup/" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" name = 'username' placeholder="choose a unique username">
</div>
<div class="form-group">
<label for="fname">Firstname</label>
<input type="text" class="form-control" id="fname" name = 'fname' placeholder="First Name">
</div>
<div class="form-group">
<label for="lname">Lastname</label>
<input type="text" class="form-control" id="lname" name= 'lname' placeholder="Last Name">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" id="email" name = 'email' placeholder="email@example.com">
</div>
<div class="form-group">
<label for="pass1">Choose Password</label>
<input type="password" class="form-control" name = 'pass1' id="pass1">
</div>
<div class="form-group">
<label for="pass2">Confirm password</label>
<input type="password" class="form-control" name = 'pass2' id="pass2">
</div>
{% csrf_token %}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
NoReverseMatch at /signup/
Reverse for '<WSGIRequest: POST '/signup/'>' not found. '<WSGIRequest: POST '/signup/'>' is not a valid view function or pattern name.
Request Method: POST
Request URL: http://127.0.0.1:8000/signup/
Django Version: 3.1
Exception Type: NoReverseMatch
Exception Value:
Reverse for '<WSGIRequest: POST '/signup/'>' not found. '<WSGIRequest: POST '/signup/'>' is not a valid view function or pattern name.
Exception Location: C:\Users\jayant nigam\projects\practise\lib\site-packages\django\urls\resolvers.py, line 685, in _reverse_with_prefix
Python Executable: C:\Users\jayant nigam\projects\practise\Scripts\python.exe
Python Version: 3.8.5
Python Path:
['C:\\Users\\jayant nigam\\projects\\everythingcs',
'C:\\Python38\\python38.zip',
'C:\\Python38\\DLLs',
'C:\\Python38\\lib',
'C:\\Python38',
'C:\\Users\\jayant nigam\\projects\\practise',
'C:\\Users\\jayant nigam\\projects\\practise\\lib\\site-packages']
Server time: Mon, 28 Sep 2020 17:39:46 +0000
return redirect(request, "/home.html")
url.py:
def handleSignup(request):
if request.method == 'POST':
username = request.POST['username']
fname = request.POST['fname']
lname = request.POST['lname']
email = request.POST['email']
pass1 = request.POST['pass1']
pass2 = request.POST['pass2']
# creating users
myuser = User.objects.create_user(username, email, pass1)
myuser.first_name = fname
myuser.last_name = lname
myuser.save()
messages.success(request, 'your account have been successfully created!')
return redirect(request, "/home.html")
else:
return HttpResponse("error 404 not found")
urlpatterns = [
path("", views.home, name="home"),
path("contact/", views.contact, name="contact"),
path("about", views.about, name="about"),
path("signup/", views.handleSignup, name="handleSignup"),
]
<form action="/signup/" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" name = 'username' placeholder="choose a unique username">
</div>
<div class="form-group">
<label for="fname">Firstname</label>
<input type="text" class="form-control" id="fname" name = 'fname' placeholder="First Name">
</div>
<div class="form-group">
<label for="lname">Lastname</label>
<input type="text" class="form-control" id="lname" name= 'lname' placeholder="Last Name">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" id="email" name = 'email' placeholder="email@example.com">
</div>
<div class="form-group">
<label for="pass1">Choose Password</label>
<input type="password" class="form-control" name = 'pass1' id="pass1">
</div>
<div class="form-group">
<label for="pass2">Confirm password</label>
<input type="password" class="form-control" name = 'pass2' id="pass2">
</div>
{% csrf_token %}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
NoReverseMatch at /signup/
Reverse for '<WSGIRequest: POST '/signup/'>' not found. '<WSGIRequest: POST '/signup/'>' is not a valid view function or pattern name.
Request Method: POST
Request URL: http://127.0.0.1:8000/signup/
Django Version: 3.1
Exception Type: NoReverseMatch
Exception Value:
Reverse for '<WSGIRequest: POST '/signup/'>' not found. '<WSGIRequest: POST '/signup/'>' is not a valid view function or pattern name.
Exception Location: C:\Users\jayant nigam\projects\practise\lib\site-packages\django\urls\resolvers.py, line 685, in _reverse_with_prefix
Python Executable: C:\Users\jayant nigam\projects\practise\Scripts\python.exe
Python Version: 3.8.5
Python Path:
['C:\\Users\\jayant nigam\\projects\\everythingcs',
'C:\\Python38\\python38.zip',
'C:\\Python38\\DLLs',
'C:\\Python38\\lib',
'C:\\Python38',
'C:\\Users\\jayant nigam\\projects\\practise',
'C:\\Users\\jayant nigam\\projects\\practise\\lib\\site-packages']
Server time: Mon, 28 Sep 2020 17:39:46 +0000
return redirect(request, "/home.html")
base.html中的表单:
def handleSignup(request):
if request.method == 'POST':
username = request.POST['username']
fname = request.POST['fname']
lname = request.POST['lname']
email = request.POST['email']
pass1 = request.POST['pass1']
pass2 = request.POST['pass2']
# creating users
myuser = User.objects.create_user(username, email, pass1)
myuser.first_name = fname
myuser.last_name = lname
myuser.save()
messages.success(request, 'your account have been successfully created!')
return redirect(request, "/home.html")
else:
return HttpResponse("error 404 not found")
urlpatterns = [
path("", views.home, name="home"),
path("contact/", views.contact, name="contact"),
path("about", views.about, name="about"),
path("signup/", views.handleSignup, name="handleSignup"),
]
<form action="/signup/" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" name = 'username' placeholder="choose a unique username">
</div>
<div class="form-group">
<label for="fname">Firstname</label>
<input type="text" class="form-control" id="fname" name = 'fname' placeholder="First Name">
</div>
<div class="form-group">
<label for="lname">Lastname</label>
<input type="text" class="form-control" id="lname" name= 'lname' placeholder="Last Name">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" id="email" name = 'email' placeholder="email@example.com">
</div>
<div class="form-group">
<label for="pass1">Choose Password</label>
<input type="password" class="form-control" name = 'pass1' id="pass1">
</div>
<div class="form-group">
<label for="pass2">Confirm password</label>
<input type="password" class="form-control" name = 'pass2' id="pass2">
</div>
{% csrf_token %}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
NoReverseMatch at /signup/
Reverse for '<WSGIRequest: POST '/signup/'>' not found. '<WSGIRequest: POST '/signup/'>' is not a valid view function or pattern name.
Request Method: POST
Request URL: http://127.0.0.1:8000/signup/
Django Version: 3.1
Exception Type: NoReverseMatch
Exception Value:
Reverse for '<WSGIRequest: POST '/signup/'>' not found. '<WSGIRequest: POST '/signup/'>' is not a valid view function or pattern name.
Exception Location: C:\Users\jayant nigam\projects\practise\lib\site-packages\django\urls\resolvers.py, line 685, in _reverse_with_prefix
Python Executable: C:\Users\jayant nigam\projects\practise\Scripts\python.exe
Python Version: 3.8.5
Python Path:
['C:\\Users\\jayant nigam\\projects\\everythingcs',
'C:\\Python38\\python38.zip',
'C:\\Python38\\DLLs',
'C:\\Python38\\lib',
'C:\\Python38',
'C:\\Users\\jayant nigam\\projects\\practise',
'C:\\Users\\jayant nigam\\projects\\practise\\lib\\site-packages']
Server time: Mon, 28 Sep 2020 17:39:46 +0000
return redirect(request, "/home.html")
您在url.py
中指定了path(“,views.home,name=“home”)
,因此您可以执行以下操作:
return redirect("/")
您不应该将请求
作为第一个参数传递给重定向()
,您只需要在大多数情况下提供URL(相对或绝对)
实际上,作为一种最佳实践,该URL应使用反向提供,例如:
from django.urls import reverse
...
return redirect(reverse('home'))
有关详细信息,请参阅文档。如何运行应用程序?