Не отображаются поля формы в django

Не отображаются поля в django форме только кнопка отправить

views.py

class rateZoneView(generic.DetailView):
    model = Zone
    form_class = RateForm
    template_name = 'cityRating/rate.html'

urls.py

from django.urls import path
from django.conf.urls import url
from . import views


app_name = 'cityRating'
urlpatterns = [
    path('', views.IndexView.as_view(), name='index'),
    path('<int:pk>/', views.DetailView.as_view(), name='detail'),
    url(r'^register/$', views.RegisterFormView.as_view(),name='register'),
    url(r'^login/$', views.LoginFormView.as_view(),name='login'),
    url(r'^rate/(?P<pk>\d+)/',views.rateZoneView.as_view(),name='ratezone')
]

forms.py

class RateForm(ModelForm):
class Meta:
    model = Profile
    fields = ['zone_crime_level','zone_roads_health','zone_ecology_level','zone_medicine_level']

models.py

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
zone_crime_level = models.IntegerField(default=0)
zone_roads_health = models.IntegerField(default=0)
zone_ecology_level = models.IntegerField(default=0)
zone_medicine_level = models.IntegerField(default=0)

rate.html

  <!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>

            <div>
        <h4></h4>
        <form action="" method="post">
            {% csrf_token %}
            {{ form.as_p  }}
            <input type="submit" value="Submit" />
        </form>

    </div>


  </body>
</html>

Ответы (1 шт):

Автор решения: m0nte-cr1st0

Для отображения формы с помощью CBV стоит использовать FormView, однако там не будет доступа к экземпляру модели.

class rateZoneView(generic.FormView):
    form_class = RateForm
    template_name = 'cityRating/rate.html'
→ Ссылка