Форма Django не отображается на html-странице
Я изучаю Django и создал форму с помощью ModelForms. Сначала я написал views.py как функцию, но когда я попытался сделать его классом, форма не отображается, в то время как остальные теги работают. Вот мой views.py в методе функции
def company(request):
    company = Company.objects.all()
    cform = CompanyForm()
    form = CompanyForm(request.POST or None)
    if form.is_valid():
        form.save()
        return HttpResponseRedirect('/company')
    return render(request,'company/company.html',{
        'company': company,
        'cform':cform
    })
 Это основано на классе views.py
class CompanyView(generic.TemplateView):
    model = 'Company'
    template_name = 'company/company.html'
 Я обновил urls.py следующим образом
urlpatterns = [
    path('',views.IndexView.as_view(), name='index'),
    path('form/',views.CompanyView.as_view(),name='company'),
]
Наконец-то это мой html-шаблон
<h1>{{ company.company_name }}</h1>
<ul>
    {% for company in company.choice_set.all %}
    <li>{{ company.company_name }}</li>
    {% endfor %}
</ul>
<form method="post">
    {% csrf_token %}
    <fieldset>
        <legend>
            <h2> Company Form </h2>
        </legend>
        {{ cform.as_p }}
    </fieldset>
    <input type="submit" value="Submit" />
</form>
 и forms.py
from .models import Company
# create a ModelForm
class CompanyForm(forms.ModelForm):
    
    class Meta:
        model = Company
        fields = ('company_name','location','email_id')
Я пробовал много изменений в шаблоне и все, но я не могу найти ошибку здесь.
Если вы используете представления, основанные на классах, вам не нужно определение функции в том виде, в котором оно приведено выше, обязательно удалите его. Обратитесь к документации здесь
Попробуйте это определение на основе класса и шаблона:
class CompanyView(generic.FormView):
    template_name = 'company/company.html'
    form_class = CompanyForm
    success_url = '/redirect-to-somewhere/'
 И затем в вашем HTML ссылайтесь только на {{ form.as_p }}:
<form method="post">
    {% csrf_token %}
    <fieldset>
        <legend>
            <h2> Company Form </h2>
        </legend>
        {{ form.as_p }}
    </fieldset>
    <input type="submit" value="Submit" />
</form>