我是第一次使用基于类的视图.我无法理解如何使用基于类的视图我将实现django-endless-pagination twitter样式分页.
我能举例说明一个人会怎么做?
这是我的看法:
class EntryDetail(DetailVIEw): """ Render a "detail" vIEw of an object. By default this is a model instance looked up from `self.queryset`,but the vIEw will support display of *any* object by overrIDing `self.get_object()`. """ context_object_name = 'entry' template_name = "blog/entry.HTML" slug_fIEld = 'slug' slug_url_kwarg = 'slug' def get_object(self,query_set=None): """ Returns the object the vIEw is displaying. By default this requires `self.queryset` and a `pk` or `slug` argument in the URLconf,but subclasses can overrIDe this to return any object. """ slug = self.kwargs.get(self.slug_url_kwarg,None) return get_object_or_404(Entry,slug=slug)
最佳答案由于这是一个广泛的问题,我现在想结合几种分页解决方案.1.使用通用ListView:
from django.vIEws.generic @R_419_5565@ ListVIEwclass EntryList(ListVIEw): model = Entry template_name = 'blog/entry_List.HTML' context_object_name = 'entry_List' paginate_by = 10
仅使用urls.py会更快:
url(r'^entrIEs/$',ListVIEw.as_vIEw(model=Entry,paginate_by=10))
所以基本上你不需要在这个解决方案中使用django-endless-pagination.您可以在此处查看模板示例:How do I use pagination with Django class based generic ListViews?
2.使用django-endless-pagination的AjaxListView:
from endless_pagination.vIEws @R_419_5565@ AJAXListVIEw class EntryList(AJAXListVIEw): model = Entry context_object_name = 'entry_List' page_template = 'entry.HTML'
或者更快(再次)使用urls.py:
from endless_pagination.vIEws @R_419_5565@ AJAXListVIEwurl(r'^entrIEs/$',AJAXListVIEw.as_vIEw(model=Entry))
参考:http://django-endless-pagination.readthedocs.org/en/latest/generic_views.html
如果有人知道不同的解决方案,请评论.
@H_301_57@ 总结以上是内存溢出为你收集整理的python – django-endless与基于类的视图示例全部内容,希望文章能够帮你解决python – django-endless与基于类的视图示例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)