[英]Django signup form doesn't submit data or save in database or valid and invalid errors working
$ 我試圖提交以下代碼,它從未提交或保存在數據庫中或給出任何反應,甚至是警告或(bootsrap5.2 在不工作時有效和無效),我需要支持,非常感謝
$ 這是(views.py)中的代碼,
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login as signin
from django.contrib.auth import authenticate
# This can replace the 3 uppers
from .forms import SignUpForm
def signup(request):
form = SignUpForm()
if request.method == 'POST' and 'btnsignup2' in request.POST:
form = SignUpForm(request.POST)
if form.is_valid():
user = form.save()
signin(request, user)
return redirect('index')
else:
form = SignUpForm()
context = {
'basic':
{'main': 'Project',
},
'form': form
}
return render(request, 'accounts/signup-dj.html', context)
$ 這是 (forms.py) 中的代碼
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth import login as signin
from django.contrib.auth import authenticate
from django.contrib.auth.models import User
class SignUpForm(UserCreationForm):
email = forms.EmailField(max_length=250, required=True, widget=forms.EmailInput())
class Meta:
model = User
fields = ['first_name', 'last_name', 'email', 'username', 'password1', 'password2']
$這是(urls.py)
from django.urls import path
from . import views
urlpatterns = [
path('login', views.login, name="login"),
path('signout', views.signout, name="signout"),
path('signup', views.signup, name="signup"),
]
$ 這是 (HTML) 中的代碼
{% extends 'base.html' %}
{% load static %}
{% block title %}Sign Up{% endblock %}<!-- | Page-title-->
{% block content %}
<div class="signup-form">
<div class="container-signup w-50">
<h1>Sign Up</h1>
<br>
{% include 'parts/alerts.html' %}
<form class="row g-3" metho="POST" action="">
{% csrf_token %}
{% include 'includes/form.html' %}
<button type="submit" name="btnsignup2" class="btn main-btn w-100 rounded-pill">
Create New User</button>
<p class="mt-3">
You Already Have Account at {{basic.main}} ? <a href="{% url 'login'
%}">Login</a>
</p>
</form>
</div>
</div>
{% endblock %}
只需查看 HTML,我就可以在這里看到:
<form class="row g-3" metho="POST" action="">
您在metho="POST"
中有錯字,應該是method="POST"
,並將端點的url 分配給action
,例如action="/signup"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.