Python ';超级';对象没有属性';保存';德扬戈

Python ';超级';对象没有属性';保存';德扬戈,python,django,Python,Django,我正在制作一份注册表格,供用户使用Django 1.8和python 3.5注册 我已经创建了一个用户(使用扩展AbstractUser的自定义模型扩展用户模型)(即我想将自定义字段添加到默认django的Users表中,如bio、date of birth等) 当我尝试输入用户名和密码时,我在/signup处得到一个错误类型error/ 这是我的主页/models.py from django.db import models from django.contrib.auth.models i

我正在制作一份注册表格,供用户使用Django 1.8和python 3.5注册

我已经创建了一个用户(使用扩展AbstractUser的自定义模型扩展用户模型)(即我想将自定义字段添加到默认django的Users表中,如bio、date of birth等)

当我尝试输入用户名和密码时,我在/signup处得到一个错误类型error/

这是我的
主页/models.py

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

class User(AbstractUser):
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
from django import forms
from mainpage.models import User
from django import forms
from django.contrib.auth.forms import UserCreationForm
class allusers1(forms.Form):
    username1=forms.CharField(label = "Username")
    password1=forms.CharField(label="passwordwa",max_length=40)
    class Meta:
        model=User
        fields=(
            'username',

            'password',

        )
    def save(self,commit=True):
        user=super(allusers1,self).save(commit=False)
        user.username=self.cleaned_data['username1']
        user.password=self.cleaned_data['password1']
        if commit:
            user.save()

        return user
from django.shortcuts import render
from .forms import allusers1
def signup(request):       
    form1=allusers1(request.POST or None)
    if form1.is_valid():
        form1.save()
    context = {
   "form1": form1,
         }
    return render(request, "signup.html",context)
这是我的
注册/forms.py

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

class User(AbstractUser):
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
from django import forms
from mainpage.models import User
from django import forms
from django.contrib.auth.forms import UserCreationForm
class allusers1(forms.Form):
    username1=forms.CharField(label = "Username")
    password1=forms.CharField(label="passwordwa",max_length=40)
    class Meta:
        model=User
        fields=(
            'username',

            'password',

        )
    def save(self,commit=True):
        user=super(allusers1,self).save(commit=False)
        user.username=self.cleaned_data['username1']
        user.password=self.cleaned_data['password1']
        if commit:
            user.save()

        return user
from django.shortcuts import render
from .forms import allusers1
def signup(request):       
    form1=allusers1(request.POST or None)
    if form1.is_valid():
        form1.save()
    context = {
   "form1": form1,
         }
    return render(request, "signup.html",context)
这是
signup/views.py

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

class User(AbstractUser):
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
from django import forms
from mainpage.models import User
from django import forms
from django.contrib.auth.forms import UserCreationForm
class allusers1(forms.Form):
    username1=forms.CharField(label = "Username")
    password1=forms.CharField(label="passwordwa",max_length=40)
    class Meta:
        model=User
        fields=(
            'username',

            'password',

        )
    def save(self,commit=True):
        user=super(allusers1,self).save(commit=False)
        user.username=self.cleaned_data['username1']
        user.password=self.cleaned_data['password1']
        if commit:
            user.save()

        return user
from django.shortcuts import render
from .forms import allusers1
def signup(request):       
    form1=allusers1(request.POST or None)
    if form1.is_valid():
        form1.save()
    context = {
   "form1": form1,
         }
    return render(request, "signup.html",context)
一些附加信息 我参考这个博客来创建AbstractUser

回溯 环境:

Request Method: POST
Request URL: http://localhost:8000/signup/

Django Version: 1.8
Python Version: 3.5.4
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'mainpage',
 'signup',
 'login',
 'currency',
 'rest_framework',
 'corsheaders')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware')


Traceback:
File "C:\Users\vaibhav2\AppData\Local\Programs\Python\Python35\lib\site-packages\django\core\handlers\base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\vaibhav2\PycharmProjects\MajorProject\src\signup\views.py" in signup
  13.         form1.save()
File "C:\Users\vaibhav2\PycharmProjects\MajorProject\src\signup\forms.py" in save
  26.         user=super(allusers1,self).save(commit=False)

Exception Type: AttributeError at /signup/
Exception Value: 'super' object has no attribute 'save'
在signup/forms.py中

更改:

user=super(user,self).save(commit=False)

user=super(allusers1,self).save(commit=False)


并阅读一些关于编码风格的文章。喜欢和。它有助于其他人(以及你未来的自己)阅读和理解你的代码。

Iget此错误还改变了问题“super”对象没有属性“save”