【问题标题】:ModelForm in Django not showingDjango中的ModelForm没有显示
【发布时间】:2021-07-06 11:25:18
【问题描述】:

我正在尝试在 django 中显示一个基本表单,但一旦我运行服务器就不会呈现该表单,如果您能帮助我解决这些问题,我将不胜感激,这里是我的代码。

models.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

forms.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),
]

views.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_employee.html


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

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

【问题讨论】:

    标签: python django forms django-forms django-templates


    【解决方案1】:

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

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

    更多关于ModelFormhere

    【讨论】:

    • 非常感谢,这解决了问题:D!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2020-12-03
    • 2012-05-24
    • 1970-01-01
    • 2020-12-07
    • 2015-11-09
    • 2013-06-23
    相关资源
    最近更新 更多