【发布时间】:2021-08-28 22:23:41
【问题描述】:
我面临一个路径问题,在单击 /login/ 路径中的“登录”按钮后,它会寻找 /login/login/ ,而在单击“登录”按钮后,我想将其返回到我的根路径。
我附上了代码和快照的sn-ps,如果有人提出解决方案,请帮忙。
“signup.html 文件”
<form action="signup/" method="post">
{% csrf_token %}
<input class="text" type="text" name="username" placeholder="Username" required="">
<input class="text email" type="email" name="email" placeholder="Email" required="">
<input class="text" type="password" name="password1" placeholder="Password" required="">
<input class="text w3lpass" type="password" name="password2" placeholder="Confirm Password" required="">
<input class="text" type="text" name="address" placeholder="Address" required="">
<!-- <div class="wthree-text">
<label class="anim">
<input type="checkbox" class="checkbox" required="">
<span>I Agree To The Terms & Conditions</span>
</label>
<div class="clear"> </div>
</div> -->
<input type="submit" value="SIGNUP">
</form>
“login.html 文件”
<form action="login/" method="post">
{% csrf_token %}
<input class="text" type="text" name="username" placeholder="Username" required="">
<input class="text" type="password" name="password" placeholder="Password" required="">
<input type="submit" value="LOGIN">
</form>
“urls.py 文件”
urlpatterns = [
path('',views.signup, name='signup'),
path('signup/',views.signup,name='signup'),
path('login/',views.login,name='login'),
]
“views.py 文件”
from django.shortcuts import render,redirect
from django.http import HttpResponse
from .models import SignUp
from django.contrib.auth.models import auth
# Create your views here.
def login(request):
if request.method == 'POST':
username= request.POST['username']
password= request.POST['password']
user = auth.authenticate(username=username,password=password)
if user is not None:
auth.login(request,user)
return redirect('')
else:
return render(request,'login.html')
def signup(request):
if request.method == 'POST':
username= request.POST['username']
email= request.POST['email']
password1= request.POST['password1']
password2= request.POST['password2']
address= request.POST['address']
html = "<html><body>Confirm Password and Password should be same </body></html>"
html1= "<html><body>User Already present </body></html>"
if password1 != password2:
return HttpResponse(html)
else:
for instance in SignUp.objects.all():
if (instance.username == username) or (instance.email==email):
return HttpResponse(html1)
signup=SignUp(username=username,email=email,password=password1,address=address)
signup.save()
return redirect('login')
else:
return render(request,'signup.html')
我得到的错误:
【问题讨论】:
标签: python django authentication django-views django-urls