基于类的通用视图:ListView可以从数据库中获取指定的模型类列表
而基于类DetailView的视图可以根据url中的pk值从数据库获取模型的一条记录数据
基于以上两个特性,故将使用类视图对文章列表title.html和文章详情content.html所对应的视图函数进行代码重构
views.py:

urls.py:

content.html:

Django3.0类视图知识点:
url在指向基于类的视图时,需要使用类方法as_view();当as_view()里面有参数时,参数将直接覆盖类视图里面的源参数,例如:
path('login/',auth_views.LoginView.as_view(template_name="account/login.html"),name='user_login'),
因为类视图也是类,所以通过子类可将父类方法进行覆盖,例如:
class FuleiView(View):
a = 10
def get(self,request):
return HttpResponse(self.a)
class ZileiView(FuleiView):
a = 20
当然,你也可以直接在url中使用as_view()进行覆盖:
path('about/',FuleiView.as_view(a=20)),
文章转载自智趣智学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




