`

GAE Hack:Django generic view:list_detail

阅读更多

 

urls.py

from django.views.generic import list_detail

set=Post.objects.all().order('-date')
#hack _clone() method
try :
    set._clone()
except AttributeError :   
    set._clone=lambda:set

#hack model property
try :
    set.model
except AttributeError :   
    set.model=Post
   
post_list_info = { 
    'queryset' : set, 
    'allow_empty': True, 
    'paginate_by':6,
    'extra_context':{'users':users,},
}



urlpatterns += patterns('', 
    (r'^posts/$', list_detail.object_list, post_list_info),                  
    (r'^posts/(?P<page>\d+)$', list_detail.object_list, post_list_info),  

)   

发一个Generic View: List_detail 的hack  ,这样就可以用了。觉得这样hack太暴力了 就没有用...贴出来也许有人需要吧:-)

我自己对需要分页的list 写了个公共函数:

#其实能整成decorator的形式 就不整了>_<!
def list_generic(request, page=1, object_list=[]):
    page =int(page)
    paginator=Paginator(object_list, 20, orphans=5)
    page_obj=paginator.page(page)
    dict = {'posts':page_obj.object_list,
            'is_paginated': page_obj.has_other_pages(),
            'results_per_page': paginator.per_page,
            'has_next': page_obj.has_next(),
            'has_previous': page_obj.has_previous(),
            'page': page_obj.number,
            'next': page_obj.next_page_number(),
            'previous': page_obj.previous_page_number(),
            'first_on_page': page_obj.start_index(),
            'last_on_page': page_obj.end_index(),
            'pages': paginator.num_pages,
            'hits': paginator.count,
            'page_range': paginator.page_range,
            'users':users,
    }
    return render_to_response('blog/list_post.html', dict)

使用方法:
#分类函数
def catalog(request,catalog,page=1):
    page =int(page)
    catalog = force_unicode(urllib.unquote(smart_str(catalog)))
    object_list=Post.all().filter("catalog =", catalog).order('-date')
    return list_generic(request, page, object_list)

 

trackback=http://ihere.appspot.com/post/2483

分享到:
评论

相关推荐

    gae-django-cms-v1.2.3_cn.zip

    这个压缩包包含了该CMS的源代码和其他必要的文件,用于在GAE上部署和运行一个基于Django框架的网站。 Django是一个强大的、免费的开源Web开发框架,它遵循模型-视图-控制器(MVC)设计模式,用Python语言编写。...

    如何在GAE中轻松使用Django框架

    在Google App Engine (GAE) 上使用Django框架可以让你构建高效、可扩展的Web应用程序。GAE是一个托管平台,提供了灵活的环境来运行Python应用,而Django则是一个流行的Python Web框架,它强调了“DRY”(Don't ...

    在GAE中使用django模板

    标题 "在GAE中使用django模板" 涉及到的是如何在Google App Engine (GAE) 上使用Django框架的模板系统。Google App Engine是一个托管平台,它允许开发者使用Python、Java等语言构建和运行Web应用。Django则是一个...

    gae报错:javax.swing.tree.TreeNode is a restricted class的解决办法

    标题 "gae报错:javax.swing.tree.TreeNode is a restricted class的解决办法" 指出的是在Google App Engine (GAE) 平台上遇到的一个特定错误。GAE是一个基于Java或Python等语言的云服务平台,它对上传的代码有一些...

    Django Web开发指南源码

    `templates`目录下包含了一系列HTML文件,如`gallery/templates/gallery/photo_detail.html`,用于展示图片的详细信息。模板语言支持条件判断、循环、过滤器和继承等功能,使得页面设计既灵活又易于维护。 5. URL...

    gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_

    【标题】"gae-pytorch-master_pytorch_pytorchgae_GAE_自编码器_gaepytorchmaster_" 提供的信息表明,这是一个使用PyTorch实现的图自编码器(Graph Autoencoder, GAE)项目,其核心是将自编码器的概念应用于图数据。...

    分享:集成了Django1.0 的Google App Engine开发 模板项目

    开发者需要了解Django的基本概念,如MVC(Model-View-Controller)架构、URL调度、模板系统、以及ORM(对象关系映射)。 2. **Google App Engine**:开发者需要熟悉GAE的开发环境,如使用Google Cloud SDK进行设置...

    Surgo-django-on-gae

    【标题】"Surgo-django-on-gae" 指的是在 Google App Engine (GAE) 上运行 Django Web 框架的项目或教程。Django 是一个高级的 Python Web 开发框架,它遵循“干”(Don't Repeat Yourself)原则,提供了许多开箱即...

    gae-init-debug:使用Flask-DebugToolbar和gae_mini_profiler进行gae-init的前叉

    gae-init-debug gae-init-debug是使用Python,Flask,RESTful,Bootstrap,Flask调试工具栏,gae_mini_profiler和大量其他炫酷功能在Google App Engine上启动新应用程序的最简单的样板。 阅读,您可以在其中找到...

    gae-django-cms-v2.01.zip

    【gae-django-cms-v2.01.zip】是一个压缩包文件,其中包含了GAE(Google App Engine)上的Django内容管理系统(CMS)的v2.01版本。这个新版本的设计目标是提供更高的可扩展性,使得用户可以根据需求轻松定制和添加...

    小学期GAE项目 python+Django框架实现的博客

    【标题】:“小学期GAE项目 python+Django框架实现的博客” 【描述】:“小学期的项目,一组人用了三周连学习再开发,文档齐全,适合对GAE感兴趣的人入门使用” 这个项目是一个教育实践项目,目标是构建一个基于...

    gae_in_pytorch-master_GAE_

    **图形自动编码器(GAE)在PyTorch中的实现** **一、GAE概述** 图形自动编码器(Graph Autoencoder, GAE)是一种应用于图数据的深度学习模型,它结合了自动编码器(Autoencoder)的思想与图神经网络(Graph Neural...

    利用DJANGO在GAE上实现小型网络爬虫

    【标题】:“利用DJANGO在GAE上实现小型网络爬虫” 在当今互联网时代,数据挖掘和信息获取变得越来越重要,而网络爬虫是实现这一目标的重要工具。Django,一个强大的Python Web框架,通常用于构建网站应用,但也...

    MyEclipse_5.5.1GA_E3.2.2_FullStackInstaller.exe

    MyEclipse_5.5.1GA_E3.2.2_FullStackInstaller.exe

    GAE基本建设教程.doc

    **GAE(Google App Engine)基础教程** GAE,全称Google App Engine,是一个由Google提供的平台,允许开发者构建和托管Web应用程序。该平台支持多种编程语言,包括Python和Java,并配备Google专有的数据库系统。GAE...

    LoJackmyKids_GAE2:Lo Jack My Kids GAE服务器-版本2.0

    "LoJackmyKids_GAE2: Lo Jack My Kids GAE服务器-版本2.0" 这个项目是一个基于Google App Engine(GAE)的服务器应用,主要用于追踪和管理儿童的安全。GAE是一个由Google提供的云平台,允许开发者构建、部署和运行...

    GAE_Django17:使用 Python 2.7、Django 1.7、MySQL 测试 Google App Engine

    GAE_Django17 使用 Python 2.7、Django 1.7、MySQL 的 Google App Engine 这个应用程序在我自己的个人 GAE 项目上运行和部署。 它使用 Django 1.7 的 zip 版本。 托管 确保安装了 SASS。 SASS 文件从 sass/ 编译...

Global site tag (gtag.js) - Google Analytics