django通用视图的使用

Django从1.3开始就已经加入了通用视图功能,基础的有baseview,templateview,扩展的有detailview和listview,在使用这些模板的时候,应该先阅读它的基类,然后对基类的属性进行赋值,再在views.py里面进行类的继承就可以了。不过有时如果需要自定义一些功能的话,可能需要重写一下基类的方法,这时记得在方法中调用父类的相应对象,这样就可以实现对自身所需对象的调用,之后在模板里面只需要调用你传入的参数即可。

比如要实现分页功能,只需要在url.py中传入page的参数,视图会自动帮你生成每页有n个对象的页面。

比如listview中,如果指定了model,不指定context_name的话,django会自动生成名为model_name_list的迭代器,迭代的对象为选择的model,这样在模板中就可以使用这个迭代器进行查询了。

比如listview中,如果要实现对model的某些逻辑操作,应该重写其的query_set方法,然后也可以在模板中调用经过逻辑处理后的迭代器了。

在通用视图中有个get_object的方法,可以返回需要的对象???

一般方法中的参数,kwargs之类的都是经过url传进来的参数。

在模板中如果需要访问对象的属性,可以用getattr函数进行访问。

PS:在迭代器进行逻辑操作后,返回的对象依然是可以迭代的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值