Django регистрация не выдает сообщение об ошибке и не регистрирует пользователя - PullRequest
0 голосов
/ 22 марта 2020

Я новичок в python Django. Я застрял в форме регистрации. Я создал форму, используя форму регистрации, но когда я отправляю форму, она не регистрирует пользователя или не получает никакой ошибки. Когда я кодирую это в первый раз, это работает отлично, но когда я открываю следующий день, чтобы продвинуться в моем обучении, но это работает как в прошлый раз.

model.py

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
class AppUser(User):
    pass

form.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm, get_user_model
from stock.models import AppUser


class LoginForm(forms.Form):
    username = forms.CharField(widget=forms.TextInput)
    password  = forms.CharField(widget=forms.PasswordInput)

class SignUpForm(UserCreationForm):
    username = forms.CharField(max_length=30)
    password1 = forms.CharField(widget=forms.PasswordInput)
    password2 = forms.EmailField(widget=forms.PasswordInput)

    class Meta:
        model = AppUser
        fields = ('username', 'password1', 'password2' )

htmlTemplate

{% extends 'base.html' %}
{% block content %}
<div>
  <h2>Sign Up</h2>
  <form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit" class="btn btn-primary" >Signup</button>
  </form>
</div>

{% endblock %}

views.py

class SignupView(TemplateView):
    template_name = 'stock/signup.html'

    def get(self, request):
        form = SignUpForm()
        args = {'form':form}

        return render(request, self.template_name, args)


    def post(self, request):
        form = SignUpForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('home')
        else:
            form = SignUpForm()
            return render(request, self.template_name, {'form': form, 'error':'Username/Password already exist or password should be match' })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...