Ich mache ein einfaches Formular, um Benutzerinformationen zu erhalten und auf der nächsten Seite mit django anzuzeigen. aber ich erhalte den Fehler Der Wert von 'Form' muss von 'BaseModelForm' erben, und wenn ich versuche, von ModelForm zu erben, zeigt es den Fehler an, dass es kein Modul ModelForm gibt.Der Wert von 'Form' muss von 'BaseModelForm' in Django erben
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>
Die Benennung Ihres Modells 'NameForm' und Ihres Formulars' NameForm' verursacht ebenfalls Probleme. Verwenden Sie in Ihrem 'forms.py' den Import' from django import forms' und dann die Unterklasse 'forms.ModelForm'. – Alasdair