BLOG
Enjoy when you can, and endure when you must.
NOV 21, 2013/Django
使用Grappelli提供的Related Lookups让GenericForeighKey在Admin中更好用
Django中的GenericForeignKey是个非常好的东西,可以方便的实现一个字段关联不同的外键。不过在Django Admin中,GenericForeignKey默认的使用效果很不方便,如下图所示,“响应消息类型”对应的是content_type,“关联消息”对应的是object_id。图中可以看出它不像普通ForeignKey那样可以实现快速查找。 不过很好的是Django-Grappelli中为我们提供了一个Related Lookups并且可以直接用在GenericForeignKey上。 Django...
NOV 20, 2013/后端开发与架构
Django微信公众平台开发:Access Token
微信公众平台开发中,与微信服务器的交互都必须使用Access Token。因此相比之前介绍的接入,实现access_token的获取同样是非常重要而基础的。 请求access_token,需要以GET方式访问https://api.weixin.qq.com/cgi-bin/token这个接口,并附带如下参数: grant_type:这个参数的值总是client_credential appid:公众号的app_id secret:公众好的凭证密钥 在开始之前,我们必须首先实现一个发送请求的方法send_request,其代码如下: def&nbs...
NOV 18, 2013/后端开发与架构
Django微信公众平台开发:接入
最近在搞微信公众平台开发,挺有意思的,也很简单。今天在这里和大家分享一下接入,这是进行微信平台开发的基本要素。 其实在微信公众平台开发者文档中对接入是有详细说明的,我们主要是改用django来处理微信服务器发来的请求。 消息接口申请与验证: 登录微信开发平台,在“开发模式”页面里进行服务器配置: URL是开发者用来接收微信服务器数据的接口URL,Token则是用于签名,可以任意填写。 接下来就是验证,这里我们必须有线上环境来响应微信服务器的请求。 在Django工程中编写如下View: class W...
nginx+django实现下载文件自动定位并重命名
本文介绍一种方法实现利用同一下载地址实现自动定位最新的下载文件(例如软件更新)并实现重命名。我们假设为用户提供软件更新,通过访问固定的地址/download/latest/获取最新版本的软件,并通过用户id在文件名后面加上特定的标识,最终得到(ori_filename)_u(uid).(ext)的文件名。首先来看django代码:from django.http.response import HttpResponse import os def get_latest_ver():     ...
NOV 15, 2013/Django
在ModelAdmin中自定义list_filter
list_filter可以对数据进行筛选,支持BooleanField、CharField、DateField、DateTimeField、IntegerField、ForeignKey或ManyToManyField。另外,还可以自定义!假设这里有一个Activity模型并为其增加一个自定义过滤器使其能够方便的筛选出“我参与的活动”、“我发布的活动”,我们可以这样做:class ActTypeFilter(SimpleListFilter):     title = u'类型'  &nb...
NOV 13, 2013/Django
在ModelAdmin中添加自定义View
为拓展ModelAdmin的功能,我们时常需要通过自定义View来进行拓展,通过利用ModelAdmin.get_urls(self)可以很方便的做到这一点。ModelAdmin中的get_urls方法返回该ModelAdmin中特定的URLs,其采用的方式和URLConf一样。由此,我们只需加入自己的View函数并通过get_urls方法加入URL链接即可达到目的。以下是我自己网站的一个示例:class PhotoAdmin(admin.ModelAdmin):     ......    &nbs...
NOV 10, 2013/心得与分享
DannySite v3.0 更新
又是一年一度的改版,虽然这一次的更新其实整整提前了好几个月。全新设计的UI回归浅色调,更清晰、简约。同时与时俱进,采用扁平化风格设计。更合理的结构取消了原来凌乱的“最近关注”板块,取而代之的是首页更简单、清晰的呈现。优化的服务端代码每一次重构,我相信都会有进步。当然,需要改进、升华的还有很多很多。进一步的优化这只是新版的开始,很多功能还不完善或者尚未完工,探索还在继续。欢迎各位访问我的Github并对我的代码提出改进意见。
OCT 16, 2013/Django
Django 时区设置与使用
打开 Django 工程的配置文件,可以看到如下配置项:# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # although not all choices may be available on all operating systems. # In a Windows environment this must be s...
SEP 23, 2013/Django
django中复制/克隆一条查询结果
本文转载自:http://mozillazg.com/2013/02/django-copy-or-clone-a-query-result-and-insert-it-into-database.html复制/克隆一条查询结果,并将它插入到数据库中:将 pk 值设为 None 即可: blog.save() # post.pk == 1     blog.pk = None blog.save() # post.pk == 2如果该 model 继承...
APR 29, 2013/Django
Django 数据库访问性能优化
本文主体内容为转载(查看来源),外加一些自己的学习与理解对其内容进行了少量补充。1. 使用标准的数据库优化技术:在进行Django数据库访问性能优化之前,首先应该使用标准的数据库技术对其进行优化,比如给字段加索引,通过使用 django.db.models.Field.db_index 来给一个Django模型类的字段加索引,设置这个属性字段的Field.db_index=True。注:django对model中的fk和unique = True的字段将自动创建索引。2. 理解Django中QuerySet的工作机制对数据库访问优化至关重要:QuerySet是懒加载的,它只有在需要的时候...
<< < 1 2 3 4 5 > >>