Python '的值;表格';必须继承自';BaseModelForm';在django
我正在制作一个简单的表单来接收用户信息,并使用django显示在下一页上。 但是我得到的错误是'form'的值必须从'BaseModelForm'继承,当我尝试从ModelForm继承时,它会显示没有模块ModelForm的错误Python '的值;表格';必须继承自';BaseModelForm';在django,python,django,django-models,Python,Django,Django Models,我正在制作一个简单的表单来接收用户信息,并使用django显示在下一页上。 但是我得到的错误是'form'的值必须从'BaseModelForm'继承,当我尝试从ModelForm继承时,它会显示没有模块ModelForm的错误 admin.py from django.contrib import admin from .models import Album from .forms import NameForm from django.forms import * from djang
admin.py
from django.contrib import admin
from .models import Album
from .forms import NameForm
from django.forms import *
from django.db.models import *
from models import *
admin.site.register(Album)
class MyModelAdmin(admin.ModelAdmin):
form = NameForm
admin.site.register(NameForm, MyModelAdmin)
class NameFormAdmin(admin.ModelAdmin):
form = NameForm
class NameForm(forms.Form):
class Meta:
model = NameForm
views.py
from django.contrib import admin
from .models import Album
from .forms import NameForm
from django.forms import *
from django.db.models import *
from models import *
admin.site.register(Album)
class MyModelAdmin(admin.ModelAdmin):
form = NameForm
admin.site.register(NameForm, MyModelAdmin)
class NameFormAdmin(admin.ModelAdmin):
form = NameForm
class NameForm(forms.Form):
class Meta:
model = NameForm
forms.py
from django import forms
from .models import NameForm
from django.forms import ModelForm
class NameForm(forms.Form):
class Meta:
model = NameForm
fields = '__all__'
your_name = forms.CharField(label="Your name", max_length=100)
name.html
<form action="/profile/see" method="post">
{% csrf_token %}
{{ NameForm }}
<input type="submit" value="Submit" />
</form>
{%csrf_令牌%}
{{NameForm}}
您在发布的所有文件中都定义了NameForm
,并且在forms.py
文件中导入了一个名为NameForm
的模型。表单的名称不应与模型的名称相同
您还使用from foo import*
语法导入所有内容,这非常糟糕,因为您可能会用模型定义覆盖您的名称表单
,反之亦然
在HTML中,您所做的
{{NameForm}}
不正确。使用forms.form
类在HTML中呈现表单的正确方法是{{form}
命名模型NameForm
和表单NameForm
,这会导致问题。在forms.py
中,使用django导入表单中的导入,然后使用子类forms.ModelForm
。