Django中的ModelForm没有显示



我试图在django中显示一个基本表单,但在运行服务器后没有呈现该表单,如果您能帮助我,我将不胜感激,这是我的代码。

型号.py

STATUS_OPTIONS =(
('OP', 'OPEN'),
('CL', 'CLOSED')
)
class Employee(models.Model):
id = models.AutoField(primary_key=True)
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
email = models.EmailField(max_length=200)
status = models.CharField(max_length=50, choices=STATUS_OPTIONS)
password = models.CharField(max_length=100)
def __str__(self):
return self.first_name

表单.py

from django import forms
from .models import Employee
class EmployeeForm(forms.Form):
class Meta:
model = Employee
fields = "__all__"

urls.py

from django.urls import include, path
from . import views
urlpatterns = [
path('', views.create_employee),
]

视图.py

from .forms import EmployeeForm
# Create your views here.
def create_employee(request):
form = EmployeeForm()
return render(request, 'employee/create_employee.html', {'form':form})

create_employe.html


<h1>Formu</h1>
<form action="" method='POST'>
{{form.as_p}}
<input type="submit">
</form>

当我运行程序时,唯一呈现的就是标签,知道吗?

为了从模型中创建表单,您需要使用ModelForm而不是Form。否则,您将得到一个没有任何字段的常规表单。

from django.forms import ModelForm
from .models import Employee
class EmployeeForm(ModelForm):
#...

有关ModelForm的更多信息,请点击

最新更新