решено
Я получил ошибку, которую не понимаю: не могу импортировать имя "UserUpdateForm" из "users.forms".
Я делаю учебник django от Кори Шафера, и мы создаем форму как класс для обновления профилей пользователей страницы блога, затем импортируем ее в views.py и вызываем ее в функции, и когда я пытаюсь запустить сервер, появляется эта ошибка. Я уже искал другие вопросы, но в целом они говорят, что проблема заключается в круглом импорте, но я не могу понять, если это мой случай и где он. Я относительно новичок в программировании, поэтому я не совсем понимаю, как это работает, любая помощь будет иметь отношение:
(уже пытался импортировать UserUpdateForm внутри функции моего профиля и не работал)
Forms.py
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from .models import Profile
class UserRegisterForm(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ["username", "email", "password1", "password2"]
class UserUptadeForm(forms.ModelForm):
email = forms.EmailField()
class Meta:
model = User
fields = ["username", "email"]
class ProfileUpdateForm(forms.ModelForm):
class Meta:
model = Profile
fields = ["image"]
views.py
from django.shortcuts import render, redirect
from django.contrib import messages
from .forms import UserRegisterForm, UserUpdateForm, ProfileUpdateForm
from django.contrib.auth.decorators import login_required
def register(request):
if request.method == "POST":
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get("username")
messages.success(request, f"Your account has been created! You are now able to log")
return redirect("login")
else:
form = UserRegisterForm()
return render(request,"users/register.html",{"form": form})
@login_required
def profile(request):
u_form = UserUpdateForm.forms()
p_form = ProfileUpdateForm.forms()
context= {
"u_form": u_form,
"p_form": p_form
}
return render(request, "users/profile.html")