django提供诸如index,details,result等缺省视图,缺省视图的定义是在views.ps中定义类代替方法,比如:
from django.views import generic
class IndexView(generic.ListView):
template_name = 'myfirst/index.html'
context_object_name = 'student_list'
def get_queryset(self):
return Student.objects.all()
在urls中,定义path:
path('', views.IndexView.as_view(),name='index'),
对于details的定义要简单很多,只是传入参数统一为pk,views中的定义如下:
class DetailView(generic.DetailView):
template_name = 'bmi/detail.html'
model = Student
在urls中的定义如下:
path('<int:pk>/', views.DetailView.as_view(), name='detail')
模板如下:
{% if student %}
<div>{{student.id}}</div>
<div>{{student.name_text}}</div>
{% else %}
<p>No students are available.</p>
{% endif %}
只不过如果id不存在的话,会显示404错误。
网友评论