#python #django #authentication #attributeerror
Вопрос:
Я совсем новичок в python и django. Вот мой маленький проект, и это сообщение об ошибке, которое я получаю, когда пытаюсь войти в свою учетную запись как пользователь. Я перепробовал все решения, которые получил в результате поиска. Пожалуйста, если вы знаете решение, объясните мне его довольно просто.
Мой вид входа в систему
def login_view(request):
if request.method == 'POST':
form = AuthenticationForm(data=request.POST, request=request)
if form.is_valid:
user = form.user_cache
login(request, user)
return redirect('accounts:user-home')
else:
form = AuthenticationForm()
return render(request, 'login.html', {'form':form})
Мой forms.py
# import form class from django
from django.forms import ModelForm
# import GeeksModel from models.py
from .models import *
from django.contrib.auth.models import User
# create a ModelForm
class ProfileForm(ModelForm):
# specify the name of model to use
class Meta:
model = Profile
exclude = [
'user',
]
class UsernameChangeForm(ModelForm):
class Meta:
model = User
fields = ['username', ]
Мой login.html
<h2>Log In</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Log In</button>
</form>
<p>Don't have an account yet? <a href="{% url 'accounts:register' %}">Register</a></p>
Комментарии:
1. а как насчет того, чтобы переодеться
user = form.user_cache
user = form.save()
?2. @mohammad-mirsafaei На самом деле я решил эту проблему, изменив user = form.user_cache на username = form.cleaned_data.get («имя пользователя») и пароль = form.cleaned_data.get («пароль»)