簡體   English   中英

Django 注冊表單不提交數據或保存在數據庫中或有效和無效錯誤工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM