04 2012 档案

摘要:编写编译函数当遇到一个模板标签(template tag)时,模板解析器就会把标签包含的内容,以及模板解析器自己作为参数调用一个python函数。 这个函数负责返回一个和当前模板标签内容相对应的节点(Node)的实例。例如,写一个显示当前日期的模板标签:{% current_time %}。该标签会... 阅读全文
posted @ 2012-04-28 17:18 jianhong 阅读(287) 评论(0) 推荐(0) 编辑
摘要:django中间件(Middleware)存在与request和response之间,激活中间件(activating middleware)在django项目的settings.py文件中将你的中间件添加到 MIDDLEWARE_CLASSES MIDDLEWARE_CLASSES = ( 'dj... 阅读全文
posted @ 2012-04-28 15:38 jianhong 阅读(194) 评论(0) 推荐(0) 编辑
摘要:Allowed HTTP methods 这些装饰器在django.views.decorators.http中,可以用来限制对视图的访问方式。如果不是规定的方式,那么将返回一个django.http.HttpResponseNotAllowed。from django.views.decorato... 阅读全文
posted @ 2012-04-28 14:36 jianhong 阅读(268) 评论(0) 推荐(0) 编辑
摘要:jango如何处理一个请求:1.找到root URLconf module ,就是ROOT_URLCONF中的信息。但是,如果传进来的HttpRequest对象有一个名叫urlconf的属性(这是在middleware中设置的),那么将采用这个属性的值来代替ROOT_URLCONF中的信息。2.dj... 阅读全文
posted @ 2012-04-28 14:16 jianhong 阅读(805) 评论(0) 推荐(0) 编辑
摘要:python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。那么,__init__.py还有什么别的功能呢?其实,__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件。我们可以再__ini... 阅读全文
posted @ 2012-04-27 13:07 jianhong 阅读(171) 评论(0) 推荐(0) 编辑
摘要:本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序源码例子例如,有模拟税收计算的程序:#!/usr/bin/python def debug_demo(val): if val /usr/local/qspace/user_network/debug_demo.py(7)d... 阅读全文
posted @ 2012-04-27 11:16 jianhong 阅读(361) 评论(0) 推荐(0) 编辑
摘要:OSQA简介: OSQA是一款免费且开源的问答系统,采用Python的Django开发框架,基于中国优秀的问答系统CNProg,非常类似国外著名的技术问答网站http://stackoverflow.com。截图:(刚刚配置出来,还是热乎的,呵呵~~)1.安装python,我安装的是python 2... 阅读全文
posted @ 2012-04-26 11:32 jianhong 阅读(482) 评论(0) 推荐(0) 编辑
摘要:{% for k, v in data.items %} {{ k }}: {{ v }}{% endfor %}这里假设data.items这个列表类似:[ [a,b],[c,d],[e,f]......]这种类型。那么我们可以使用{% for key, value in data.item... 阅读全文
posted @ 2012-04-24 09:35 jianhong 阅读(286) 评论(0) 推荐(0) 编辑
摘要:今天使用javascript进行前端编程时遇到一个问题,代码如下:function nameAdd (name){ if (document.getElementById(name).innerHTML=='') { document.getElementById(name).in... 阅读全文
posted @ 2012-04-23 15:14 jianhong 阅读(291) 评论(0) 推荐(0) 编辑
摘要:找了很久,终于找到了。现在分享。1.下载jquery,链接css文件。2.新建一个,如下:3.然后就是javascript的代码了,如下: 4.ok!现在日历就已经显示出来了!5.如果希望text文本框也可以弹出日历来让我们选择,那么可以这么做,如下:6.其实,我们可以发现,就是将id改了一下... 阅读全文
posted @ 2012-04-19 17:40 jianhong 阅读(280) 评论(0) 推荐(0) 编辑
摘要:当我们在网页中使用相对路径时,系统会自动的以我们现在的网站为基准网站,然后加上参数,进行访问。那么,如何自己来定义呢?html提供给我们一个标签,在元素里面定义。如下:当我们将这个元素加入到我们的网站中以后,当再次使用相对路径访问网页的时候比如:href="/abc"浏览器将会自动在这个相对路径的前... 阅读全文
posted @ 2012-04-18 16:21 jianhong 阅读(228) 评论(0) 推荐(0) 编辑
摘要:今天为了解决这个问题耗费了几个小时,现在记录下来,供大家参考。肯定有更好的方法,望不吝赐教!对于一个表中的记录,公司的要求是支持按内容搜索功能,如下:就是说,当我们单击上面的部门的时候,下面将出现这个部门的信息。然后,最下面还有分页。我是用django做的,思路如下:1.单击选中部门的时候,就会使用... 阅读全文
posted @ 2012-04-18 16:10 jianhong 阅读(253) 评论(0) 推荐(0) 编辑
摘要:{% for o in some_list %} ... {% endfor %}在这个例子中,用到了cycle这个标签,每当我们使用一次这个标签后,标签中的值就会变化,如上,每使用一次{% cycle 'row1' 'row2' %},输出的就会在row1和row2之间... 阅读全文
posted @ 2012-04-18 10:37 jianhong 阅读(498) 评论(0) 推荐(0) 编辑
摘要:来源:http://djangobook.py3k.cn/chapter06/定制管理界面的外观和感觉显然,如果在每个管理页面的头部都包含头部区域代码是搞笑的。它就和Django的模板系统一样,是块标签的占位符。通过Django模板系统可以很容易的修改它。Django管理站点同样是用Django编写... 阅读全文
posted @ 2012-04-12 17:12 jianhong 阅读(194) 评论(0) 推荐(0) 编辑
摘要:默认情况下,admin仅显示一个字段。我们可以配置admin,让其显示多个字段:class departAdmin(admin.ModelAdmin): list_display = ('name','longName','father')class managerAdmin(admin.Mo... 阅读全文
posted @ 2012-04-12 17:10 jianhong 阅读(1256) 评论(0) 推荐(0) 编辑
摘要:django中的ManyToManyField字段会自动生成另外一张表,如果我们按照以前的操作info=表名.objects.create(。。。)这样为含有ManyToManyField字段的数据表添加记录会报错,提示你字段是非法的。那么,我们就必需换一种方法了,如下:info=dutyInfo.... 阅读全文
posted @ 2012-04-12 11:50 jianhong 阅读(2630) 评论(0) 推荐(0) 编辑
摘要:有时候,我们会遇到一个作者写了很多本书,而每本书又有几个作者这种情况,那么我们可以建立一个ManyToManyField来实现N:N的关系:first=models.ManyToManyField(watch,related_name='first',verbose_name='主要负责人')在模板... 阅读全文
posted @ 2012-04-11 10:18 jianhong 阅读(641) 评论(0) 推荐(0) 编辑
摘要:Django开发必知必会版权说明由于最近发现很多转载笔者的文章而没有说明作者和出处,所以特别在些声明.本博客所有内容采用Creative Commons Licenses许可使用. 引用本内容时,请保留朱涛,出处,并且非商业.摘要Django作为python社区中最流利的web框架,它所强调的就是快... 阅读全文
posted @ 2012-04-11 09:16 jianhong 阅读(189) 评论(0) 推荐(0) 编辑
摘要:在工作中,我们会遇到需要将一个序列中的所有元素从一种类型转换成另外一种类型的需要,我们可以使用map()内建函数来实现:map函数作用是将序列中的每个元素都通过一个函数来计算,返回一个新的列表:例子: date=‘2012-12-12’ list=str(date).sp... 阅读全文
posted @ 2012-04-10 16:47 jianhong 阅读(357) 评论(0) 推荐(0) 编辑
摘要:我们用ForeignKey指向自身表,得到一个递归的关系。实现方法:father=models.ForeignKey('self',null=True,blank=True,verbose_name='上级部门')null=True如果设置null为True,则对于空记录,django会用NULL去... 阅读全文
posted @ 2012-04-10 15:46 jianhong 阅读(2193) 评论(0) 推荐(0) 编辑
摘要:所谓递归,简而言之就是应用程序自身调用自身,以实现层次数据结构的查询和访问。 递归的使用可以使代码更简洁清晰,可读性更好(对于初学者到不见得),但由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很多,而且,如果递归深度太大,可能系统资源会不够用。往往有这样的观点:能不用递归就不用递归,递归都可以... 阅读全文
posted @ 2012-04-10 13:59 jianhong 阅读(182) 评论(0) 推荐(0) 编辑
摘要:在datetime模块中有一个timedelta这个方法,它代表两个datetime之间的时间差。我们可以使用它来实现。例子:import datetimenow = datetime.datetime.now()date = now + datetime.timedelta(days = 1)现在... 阅读全文
posted @ 2012-04-09 13:56 jianhong 阅读(5670) 评论(0) 推荐(0) 编辑
摘要:当一张表的多个字段指向同一张表时,会出错。系统无法知道,通过另外一张表,访问XXX_set属性访问到的是哪个属性。这时,我们就需要为每个字段定义一个related_name属性,另外一张表访问这个表时,就会根据related_name的值来得到各个属性了。例子:class dutyTeam(mode... 阅读全文
posted @ 2012-04-09 10:39 jianhong 阅读(1049) 评论(0) 推荐(0) 编辑
摘要:原理其实很简单,就是为每个字段都起一个别名:verbose_name例如:class watch(models.Model): name=models.ForeignKey(User,verbose_name='姓名') depart=models.CharField(max_lengt... 阅读全文
posted @ 2012-04-09 10:19 jianhong 阅读(758) 评论(0) 推荐(0) 编辑
摘要:确认已经安装了session 框架。 需要确认用户使用cookie,这样sesson 框架才能正常使用。 将 'django.contrib.auth' 放在你的INSTALLED_APPS 设置中,然后运行manage.py syncdb以创建对应的数据库表。 确认 SessionMiddlewa... 阅读全文
posted @ 2012-04-06 16:41 jianhong 阅读(298) 评论(0) 推荐(0) 编辑
摘要:过滤器{{ name|lower }}显示的内容是变量 {{name }} 被过滤器 lower 处理后的结果,它功能是转换文本为小写。 在需要输出日期的时候,过滤器可以发挥很大的作用。如果默认输出日期,那么它的格式可能不符合我们的要求,这时,我们可以如下:{{mydate|date:"Y-m-d-... 阅读全文
posted @ 2012-04-06 11:02 jianhong 阅读(212) 评论(0) 推荐(0) 编辑
摘要:django的admin组件默认显示为英文,使用中还是有很多不方便的。其实,django还是做好了国际化的工作的,要实现语言的转变,只需要如下操作: 1.在settings.py中找到MIDDLEWARE_CLASSES,在'django.contrib.sessions.middleware.S... 阅读全文
posted @ 2012-04-06 09:59 jianhong 阅读(306) 评论(0) 推荐(0) 编辑
摘要:1.让admin中的记录显示为有意义的信息,不要是Object对象形式 在django中,如果我们不对model添加一些信息,那么当我们在admin中查看数据库中的记录时,会发现都是Object对象的形式,我们不能很直观的看到数据的区别。这时我们需要对model进行一些改变: 为model中的每个c... 阅读全文
posted @ 2012-04-06 09:53 jianhong 阅读(1284) 评论(0) 推荐(0) 编辑
摘要:非关键参数就是没有指定参数名的参数,关键参数就是制定了参数名的参数。例子:(非关键字可变长参数)#-*-coding:UTF-8-*-def dec(a,b,c,*ne): print a,b,c for n in ne: print ndec(1,2,3,4,5,6,7)... 阅读全文
posted @ 2012-04-03 21:35 jianhong 阅读(129) 评论(0) 推荐(0) 编辑
摘要:函数与方法的装饰器,这些可以实现面向切面的编程,类似于java的spring中的proxy#-*-coding:UTF-8-*-#修饰器会默认接受一个对象,用来确保运行后将控制权返回给原来的函数,参数是一个function对象def dec(func): print '我是装饰器' r... 阅读全文
posted @ 2012-04-03 21:18 jianhong 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1.什么是迭代器? 根本上说,迭代器就是一个有next()方法的对象,当我们需要下一个项目时,调用迭代器的next()方法就可以获取它。条目全部取出后,会引发一个StopIteration异常,告诉外部使用者,迭代完成。 使用迭代器#-*-coding:UTF-8-*-mytuple=(1,2,3,... 阅读全文
posted @ 2012-04-03 20:42 jianhong 阅读(128) 评论(0) 推荐(0) 编辑
摘要:当我们将一个对象赋值给另外一个对象的时候,python其实并没有拷贝这个对象,只是将两个变量的引用设定为了同一个。例子:#-*-coding:UTF-8-*-a_list=[1,2,3,4,5,6]b_list=a_lista_list.append(7) #对a_list这个对象的... 阅读全文
posted @ 2012-04-03 18:12 jianhong 阅读(216) 评论(0) 推荐(0) 编辑
摘要:#-*-coding:UTF-8-*-a_list=[1,2,3,4,5,6]print len(a_list) #返回序列个数print '最大元素:',max(a_list),'最小元素:',min(a_list) #获取列表中最大和最小元素for i in rever... 阅读全文
posted @ 2012-04-03 18:02 jianhong 阅读(209) 评论(0) 推荐(0) 编辑
摘要:python默认的字符编码为ascii。 codec定义了文本跟二进制值的转换方式。包括ascii、utf-8等等 每当我们向一个文件中写入字符串的时候,我们必须定义一个编码用于把对应的Unicode内容转换成你定义的格式。可以用encode()函数来实现。#-*-coding:UTF-8-*-h... 阅读全文
posted @ 2012-04-03 17:45 jianhong 阅读(275) 评论(0) 推荐(0) 编辑
摘要:#-*-coding:UTF-8-*-#打包python类库#发布第一个python包非常困难#Distutils安装脚本应命名为setup.py#编写安装脚本from distutils.core import setup #每个Distutils安装脚本的第一行,导入setup()... 阅读全文
posted @ 2012-04-01 15:52 jianhong 阅读(175) 评论(0) 推荐(0) 编辑
摘要:当面对一串不知道编码信息的字节流的时候,尝试着确定一种编码方式以使我们能够读懂其中的文本内容。类似于破解密码。Firefox包含有一个自动检测字符编码的库,导入到了python2,并且取绰号为chardet模块 chardet运用了一种算法来检测字符的类型import chardetutf8_st... 阅读全文
posted @ 2012-04-01 15:36 jianhong 阅读(199) 评论(0) 推荐(0) 编辑
摘要:#-*-coding:UTF-8-*-#HTTP Web服务import urlliba_url='http://www.baidu.com'data=urllib.urlopen(a_url).read(10)print data 阅读全文
posted @ 2012-04-01 15:20 jianhong 阅读(91) 评论(0) 推荐(0) 编辑
摘要:#-*-coding:UTF-8-*-#序列化python对象entry=[1,2,3,4,5,6,7,8,9,0]import picklewith open("entry.pickle",'wb') as f: pickle.dump(entry,f) ... 阅读全文
posted @ 2012-04-01 15:06 jianhong 阅读(237) 评论(0) 推荐(0) 编辑
摘要:#-*-coding:UTF-8-*-#python xml 文件操作import xml.etree.ElementTree as etree #ElementTree属于python标准库的一部分tree=etree.parse('feed.xml') #parse()函数会立... 阅读全文
posted @ 2012-04-01 13:29 jianhong 阅读(181) 评论(0) 推荐(0) 编辑
摘要:#-*-coding:UTF-8-*-#python文件操作#字符对象操作import localeprint locale.getpreferredencoding() #得到系统默认的编码信息with open('C:\Users\Administrator\Desktop\... 阅读全文
posted @ 2012-04-01 13:05 jianhong 阅读(203) 评论(0) 推荐(0) 编辑
摘要:python2.6 下载wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz 解压 tar –zxvf python-2.6.7.tgz cd python-2.6.7 ./configure make make install 替... 阅读全文
posted @ 2012-04-01 10:53 jianhong 阅读(185) 评论(0) 推荐(0) 编辑
摘要:现在的软件开发过程中,测试往往关系到一个项目的成败。所以,我们非常有必要学习如何测试自己所编写的代码。那么,python能够在这方面做些什么呢? 首先,我们编写一个自己的类文件。 例1. widget.pyclass Widget: def __init__(self,size=(40,40... 阅读全文
posted @ 2012-04-01 10:39 jianhong 阅读(237) 评论(0) 推荐(0) 编辑
摘要:在python中,assert用来实现断言的功能:#-*-coding:UTF-8-*-#python的断言机制assert 1+1==2assert 1+1==3 #assert语句后面跟任何合法的python表达式,如果后面的表达式为True,则assert不做任何事情,如果为f... 阅读全文
posted @ 2012-04-01 09:25 jianhong 阅读(222) 评论(0) 推荐(0) 编辑
摘要:很简单,用python的set()内建函数就可以实现:#-*-coding:UTF-8-*-#在序列中寻找不同的元素a_list=[1,1,2,2,3,4,5,6,7]print set(a_list) #set函数将返回一个没有重复项的集合a_string='AABB... 阅读全文
posted @ 2012-04-01 09:14 jianhong 阅读(364) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示