我试图在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
的更多信息,请点击