Formulardaten können nicht in der Datenbank abgerufen werden und beim Abrufen des Typobjekts „UserRegister“ ist kein AttPython

Python-Programme
Guest
 Formulardaten können nicht in der Datenbank abgerufen werden und beim Abrufen des Typobjekts „UserRegister“ ist kein Att

Post by Guest »

Form.py
aus django importieren Formulare
aus .models importieren UserRegister
aus django.contrib.auth.forms importieren UserCreationForm
aus django.core.Exceptions importieren ValidationError< /p>
form.py

Code: Select all

from django import forms
from .models import UserRegister
from django.contrib.auth.forms import UserCreationForm
from django.core.exceptions import ValidationError

class UserRegisterForm(UserCreationForm):
username = forms.CharField(max_length=50, required=True, widget=forms.TextInput(attrs={'placeholder': 'Username', 'class': 'input-group'}))
email = forms.EmailField(max_length=70, required=True, widget=forms.EmailInput(attrs={'placeholder': 'Email', 'class': 'input-group'}))
password1 = forms.CharField(max_length=128, required=True, widget=forms.PasswordInput(attrs={'placeholder': 'Password', 'class': 'input-group', 'id': 'password'}))
password2 = forms.CharField(max_length=128, required=True, widget=forms.PasswordInput(attrs={'placeholder': 'Confirm Password', 'class': 'input-group', 'id': 'password'}))

class Meta:
model = UserRegister
fields = ['username', 'email', 'password1', 'password2']

def clean_email(self):
email = self.cleaned_data.get('email')
if UserRegister.objects.filter(email=email).exists():
raise ValidationError('This email address is already in use.')
return email

def clean_username(self):
username = self.cleaned_data.get('username')
if UserRegister.objects.filter(username=username).exists():
raise ValidationError('This username is already in use.')
return username

def clean(self):
cleaned_data = super().clean()
password1 = cleaned_data.get('password1')
password2 = cleaned_data.get('password2')
if password1 and password2 and password1 != password2:
raise ValidationError("Passwords do not match.")
return cleaned_data
model.py

Code: Select all

from django.contrib.auth.models import AbstractUser
from django.db import models
from django.contrib.auth.hashers import make_password

class UserRegister(models.Model):
username= models.CharField(max_length=50,unique=True)
email = models.EmailField(unique=True,max_length=70)
password = models.CharField(max_length=128)

class Meta:
verbose_name = "User Register"
verbose_name_plural = "User Register"

def save(self,*args,**kwargs):
self.password = make_password(self.password)
super(UserRegister,self).save(*args,**kwargs)

def __str__(self):
return self.username
views.py
Erstellen Sie hier Ihre Ansichten.

Code: Select all

from django.shortcuts import render
from django.http import HttpResponseRedirect ,Http404
from .forms import UserRegisterForm
from django.contrib import messages
from .models import UserRegister

products=[{
"slug": "Mustang-GT",
"About": """The Ford Mustang GT in its stunning white color is nothing short of a modern-day classic.
From the moment you lay eyes on it, the Mustang's sleek and muscular design commands attention and admiration.
The pristine white finish only adds to its allure, giving it a timeless, elegant look that stands out on the road.
Performance: Under the hood, the Mustang GT roars to life with its 5.0-liter V8 engine, delivering a thrilling 450 horsepower.
The acceleration is exhilarating, and the handling is precise, making every drive a memorable experience.
Whether you're cruising down the highway or taking on winding roads, the Mustang GT's performance is unmatched in its class.
Interior: Step inside, and you're greeted with a blend of classic muscle car ambiance and modern sophistication.
The leather seats are comfortable and supportive, perfect for long drives. The dashboard is well-designed, with intuitive controls
and a high-quality infotainment system that keeps you connected and entertained. Driving Experience: Driving the Mustang GT is an absolute joy.
The sound of the engine is music to any car enthusiast's ears, and the responsive steering makes you feel in complete control.
The car's suspension strikes a perfect balance between comfort and sportiness, ensuring a smooth ride even on less-than-perfect roads.
Conclusion: The Ford Mustang GT in white is a perfect blend of beauty, power, and sophistication.  It's a car that not only performs
exceptionally well but also turns heads wherever it goes. Whether you're a long-time Mustang fan or new to the world of muscle cars,
this vehicle will exceed your expectations. Highly recommended for anyone looking for a thrilling and stylish driving experience.""",
"image": "images/car.jpg"
}]

def Home(request):
return render(request, "home.html")

def Login(request):
if request.method == "POST":
form = UserRegisterForm(request.POST)
if form.is_valid():
form_info = UserRegister(username=form.cleaned_data.get('username'), email=form.cleaned_data.get('email'), password=form.cleaned_data.get('password1'))
form_info.save()
messages.success(request, 'Your account has been created!')
return HttpResponseRedirect('/Products')
else:
print("Form is not valid")
print(form.errors)
else:
form = UserRegisterForm()
return render(request, 'login.html', {'form': form})

def Products(request):
return render(request, "products.html")

def about_product(request, slug):
for product in products:
if product["slug"] == str(slug):
return render(request, "about_product.html", {"product": product})
raise Http404("Product not found")
login.html
{% erweitert "base.html" %}

Code: Select all

{% block title %}
Home
{% endblock %}

{% load static %}

{% block css_files %}

{% endblock %}

{% block content %}

{% csrf_token %}


Username
{{ form.username }}
{% if form.username.errors %}

{% for error in form.username.errors %}
{{ error }}
{% endfor %}

{% endif %}


Email
{{ form.email }}
{% if form.email.errors %}

{% for error in form.email.errors %}
{{ error }}
{% endfor %}

{% endif %}


Password
{{ form.password1 }}
{% if form.password1.errors %}

{% for error in form.password1.errors %}
{{ error }}
{% endfor %}

{% endif %}


Confirm Password
{{ form.password2 }}
{% if form.password2.errors %}

{% for error in form.password2.errors %}
{{ error }}
{% endfor %}

{% endif %}

Sign In


{% endblock %}
Fehler:-
Image

Seit einigen Tagen stoße ich auf ein Problem, bei dem ich keine Formulardaten in die Datenbank übertragen kann. Außerdem erhalte ich jetzt die folgende Fehlermeldung:

Typobjekt „UserRegister“ hat kein Attribut „USERNAME_FIELD“.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post