暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5跟着老齐学Django重构第一章的代码(1-34)

智趣智学 2020-06-19
184

基于类的通用视图: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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论