Django: невозможно перенаправить на домашнюю страницу после регистрации
Итак, есть код:
views.py
from .forms import RegForm, LogForm
from django.contrib.auth import logout, login as auth_login
# Create your views here.
def reg(request):
if request.method == 'POST':
regform = RegForm(request.POST)
if regform.is_valid():
user = regform.save()
regform.save()
auth_login(request, user)
return redirect('/main')
else:
regform = RegForm()
context = {
'regform': regform
}
return render (request, "users/registration.html", context)
и
forms.py
from django.contrib.auth import authenticate
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django import forms
from django.contrib.auth.models import User
class RegForm(UserCreationForm):
email = forms.EmailField()
last_name = forms.CharField()
first_name = forms.CharField()
class Meta:
model = User
fields = [
'first_name',
'last_name',
'username',
'email',
'password1',
'password2',
'date_joined'
]
и
from users.views import log, reg, loggout
urlpatterns = [
path('registration/', reg, name='registration'), ]
Выдает ошибку:
TypeError at /registration/
getattr(): attribute name must be string
Request Method: POST
Request URL: http://127.0.0.1:8000/registration/
Django Version: 3.1.5
Exception Type: TypeError
Exception Value:
getattr(): attribute name must be string
Exception Location: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/django/db/models/fields/files.py, line 453, in update_dimension_fields
Python Executable: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3
Python Version: 3.9.1
Python Path:
['/Users/sung/Dev/blued',
'/Library/Frameworks/Python.framework/Versions/3.9/lib/python39.zip',
'/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9',
'/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload',
'/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']
Server time: Sat, 21 Aug 2021 13:12:27 +0000
/Users/sung/Dev/blued/users/views.py, line 11, in reg
user = regform.save()
раньше все работало отлично, я не думаю, что я что-то изменил, в views.py у меня тоже есть почти такая же функция для log inning и она отлично работает. Я пробовал несколько способов, гуглил, но не смог найти ничего, что помогло бы, поэтому я надеюсь, что кто-то может показать мне решение здесь.