`
yzjklove
  • 浏览: 63751 次
  • 性别: Icon_minigender_1
  • 来自: 广东省惠州市
社区版块
存档分类
最新评论
文章列表
[Python Tips]去除 Trivial 赋值语句 写 python 这么久,其实有许多小技巧记在了脑子里,当然,其中也烂掉了不少。今天正好有同事问关于怎么去除 trivial 赋值语句问题,觉得应当以此为契机,养成把这些小技巧记录下来发表到博客上的习惯,一来不会久了之后技巧烂在了脑子里,二来也许能对别人有所裨益呢? trivial 赋值语句的问题在于许多 python 程序员有着丰厚的 C/C++ 背景,习惯在 __init__() 函数里“声明”成员变量,写 python 的时候积习难改,如: >>> class Foo(object): ...     def ...
1. Mix-in技术介绍 Mixin可以译为混入,就是在不改变原对象的情况下对其进行扩展。本文介绍了在 Python 语言中,如何实现Mixin技术,及安装的相应技巧。 1.1. 什么是Mix-in技术 Mix-in技术,中文不知道应该如何称呼,但意思好象是混入。它的作用是,在运行期间,动态改变类的基类或类的方法,从而使得类的表现可以发生变化。可以用在一个通用类接口中,根据不同的选择使用不同的低层类实现,而高层类不用发生变化。而且这一实现可以在运行过程中动态进行改变。由于我也是刚看到,大家有问题可以与我进行交流。这就是我看到的文章的链接。 1.2. 基类的增加 有一个类, cl ...
Pythonic到底是什么玩意儿? 作者:Martijn Faassen 译者:赖勇浩(http://blog.csdn.net/lanphaday) 原文地址:http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0 注:Martijn 是 Zope 领域的专家,他为 Zope 系列产品做了许多开发工作,也开发了 lxml 等多个开源产品。你可以在这里了解一下他的信息http://www.zope.org/Members/faassen。这篇文章写于 2005 年,虽然有少部分内容(主要是例子)看起来已经有些过时,但即便是在今天,它 ...
1. 编程 FAQ   Date: $Date: 2005-06-05 19:37:51 -0500 (Sun, 05 Jun 2005) $ Version: $Revision: 8226 $ Web site: http://www.python.org/   1.1. 一般问题     1.1.1. 是否有源码级的调试器, 具有breakpoint, single-stepping等功能?   是的。 pdb模块是一个简单却强大的命令行模式的python调试器。它是标准python库的一部分, 在库参考手册中有关于它的文档。作为一个例 子,你也可以使用p ...
MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行。 默认程序: import MySQLdb db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = '123456', db = 'test') cursor = db.cursor() cursor.execute('select * from user') rs = cursor.fetchall() print rs # 返回类似如下 # ( ...
PS:The B-List是个很牛的Django博客,大量的技巧和教程,英语好的一定要去订阅,怕看英语的,就等我的翻译吧。 经常被问到的一个问题是:我怎么样为我的app提供初始化数据?或者一个相似的问题:我怎么样保证我的程序在通过syncdb安装的同时运行某些代码。Django提供了多种途径实现这个功能,你可以根据具体的需求选择不同的实现方式。虽然这些功能在文档里都已经说明了,但是还是会遇到很多问题,所以我们今天仔细看看各种不同的方式之间的区别,了解哪一种更适合你。 提供SQL语句初始化数据 这是最古老的方式(从Django一开始就有这个功能)也是最简单的方式(不管是你需要做的部分,还是它 ...
一、库文件导入问题 1. from django.conf.urls.defaults import * from website.contact.views import contact, thanks #这种方法导入不好,因为随着views数量的增多,在每次加入 #新的view函数时还得确认是否已经导入了这个函数。 #如果项目非常大 则 ...
Django也用了一段时间了,写了两三个小网站,但是始终感觉自己写出来的站点目录和功能的安排还是比较混乱,很难达到让自己满意的效果,更不要说令人赏心悦目了。尤其是,当你需要开发下一个网站的时候,虽然感觉用户部 ...
一、如何实现系统的灵活扩展     在实际的应用中,经常要考虑系统的扩展性。当一个系统定型并被打包发布后(甚至被转成了exe文件包后),想要在不破坏整体性的同时,又能方便的扩展(或调整)系统的功能,就像插件、补丁这些功能。 1. 使用类别名+外部文件来扩展内部类     原理:在代码编写过程中,注意使用类别名。即在类的定义完成后,给类赋一个标准别名,然后在类的实现时使用这个标准别名来操作。在扩展时,执行一个外部文件,这个文件中对原类做了扩展,并将标准别名赋给这个扩展类,就可以实现功能扩展了。     举个例子: 代码一:test.py ------------------------------ ...
1.os模块   os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果。   os.name:返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos')   os中定义了一组文件、路径在不同操作系统中的表现形式参数,如     os.sep(文件夹分隔符,windows中是 \ )     os.extsep(扩展名分隔符,windows中是 . )     os.pathsep(目录分隔符,windows中是 ; )     os.linesep(换行分隔符,windows中是 \r\n ...
大多数Django教程都是将models放在models.py文件(模块)中, 然而随着models类的增加, 将类放在一个文件中太混乱了, 于是将models做成一个package: models/     __init__.py     usermodels.py     othermodel.py 这样就可以将models定义拆分到多个模块中,  但是当用命令同步数据时发现不可用: manage.py sqlall blog 不会生成数据库创建命令(APP的名字是blog) 需要做如下更改: 在__init__.py中import模块: from usermodels impor ...
使用JSON代替XML做为数据传输是个不错的选择,下面我们看看django中如何使用json。 首先下载json-py的类库,http://blog.ntsky.com/wp-content/uploads/json-py-3_4.zip 我们使用关联select作为例子: <select name="city_id" id="city_id" onChange="getFacilityOptions(this.value)"> {% if city_list %} {% for city in c ...
执行数据库删除,使用了django的cursor.execute(sql)进行删除数据,发现了奇怪问题,有时候可以执行成功,有的时候执行不成功。 通过SQL的监控看到SQL语句是正常的,就是没有执行commit 代码应该是没问题的: from django.db import connection cursor = connection.cursor() cursor.execute("delete from event where id=%s",[event_id]) cursor.close() 想不通问题出在什么地方,有的地 ...
django 框架, 模板在templates中 ,样式和图片在site_media, 如 templates/index.html 文件内容: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <met ...
今天在Google Talk上碰到mryanyi,他最近在将一老系统转换到Django中,他和我说了Django有legacy db的功能. 我还没听说过,就在django的文档中搜索了一下,发现django可以根据已有数据库来生成Model类. 使用方法非常简单: 在项目目录下的命令行中输入: python manage.py inspectdb 或 python manage.py inspectdb > models.py
Global site tag (gtag.js) - Google Analytics