编程技术

python列表展开

Roy
某网站今年笔试题,本质就是把某多维数组变成一维数组并去重。本来要求用JS实现,不过用python更简洁一点,就是对列表进行展开操作,递归就KO了。 首先来个不简洁的: arr = [1, [1, 2, [2, 3]], [4], [4]] final=[] def change(x): print "x is:",x if isinstance(x, list): for l in x: print "l is:",l change(l) else: final.

django自带的评论模块

Roy
某个设计本来采用了一个比较不错的在线评论模块,不过答辩的时候丫居然不给网!!想偷个懒还是挺难啊…. 那就用自带的评论模块吧,django版本是1.5.3。 首先把'django.contrib.comments'添加到INSTALLED_APPS中,然后添加url: urlpatterns = patterns('', ...... url(r'^comments/', include('django.contrib.comments.urls')), ...... ) 在需要显示评论的HTML中:

mysql-python:not all arguments converted during string formatting

Roy
今天把django从1.5.5升级到了1.6.2,结果使用mysql-python查询数据库时候就报了这个错误:“not all arguments converted during string formatting” 貌似这个问题应该和django没什么关系,正好今天就看看mysql-python的源码吧。想看如何解决的请直接跳到最后。 查询部分简化后如下: posistion = "top" order = r"select id,p_name,p_explain,p_href from pictures where p_position = %s and p_show = 1 order by -id" self.

Django的view中常用return方法

Roy

第一种HttpResponse,最基本的返回方式,可以直接返回字符:

from django.http import HttpResponse
def index(request):
    return HttpResponse(a test)

或者结合contextloder返回网页:

from django.template import Context, loader  
from polls.models import Poll
def index(request):  
    latest_poll_list = Poll.objects.order_by('-pub_date')[:5]  
    template = loader.get_template('polls/index.html')
    context = Context({ 'latest_poll_list': latest_poll_list, })  
    return HttpResponse(template.render(context))