-
Django 自定义session处理
django有自己的一套session框架,有他自己的机制处理,但这通常是在全新构件系统的时候才会用到。如果是一套已有的系统,现在重新想用django做成web版的,由于以往的数据库是已经设计好,不能修改其表结构,但可以增加表,因为用django必须有django自己的一些系统表,这些是必须添加到原有的数据库中的,我们可以通过 mange.py syncdb 来创建.| auth_group| auth_group_permissions| auth_permission| auth_user
Date: 2012-10-21 View: 7075
-
python 两个dict 合并并进行计算
用pythonic 的方法,将两个dict合并,并进行计算. 如果key值相同,则将他们的值进行想加,否则保留原来的值.当然,通常会想到,用循环的方法来做,这是一般人都知道的做法,下面讲一个python dict 内置的方法来实现。比如有如下两个字典:Dict A: {'a':1, 'b':2, 'c':3}Dict B: {'b':3, 'c':4, 'd':5}
Date: 2012-10-16 View: 4059
-
django 在浏览器之外,模板之外,views之外使用国际化
通常django程序的国际化,都是在template,views中,并结合浏览器完成实现,关于这方面的文章,我前面写过,可以参考django国际化,但今天要面对的场景不是这样的,而是在template,view,浏览器的情况下,利用 django 的代码来实现国际化。在django 中可以采用如下方式实现代码片段, 请查看文章详情 ...
Date: 2012-10-15 View: 2389
-
django 自定义404错误,500错误页面
在做网站的过程中,404,500错误,是不可避免产生的。一旦产生了这种错误,很多可以通过web server 来处理。比如使用 apache 的定义 或者nginx 的定义。都可以定向处理。如果单纯在django里面可以处理吗?肯定是可以的,django提供了相应的处理方式,只要在django里面定义了,无论你今后部署在apache下或者是nginx下,都是生效的。下面是详细配置过程
Date: 2012-10-15 View: 6047
-
django 事务小结(ORM 事务以及raw sql,customize sql 事务处理)
django 中要求事务处理的情况有两种:1.基于django orM 的 transaction 处理2.是基于自定义SQL 语句的transaction的处理,通常是比较复杂的SQL ,用ORM 处理不方便的时候用的。或者是大批量SQL语句执行,比较在意效率的情况下用。首先说一下第二种情况,因为这种情况相对简单一点,没ORM 那么多东西,用我写的一个方法来解释
Date: 2012-10-08 View: 9581
-
djano "and" "or" 在同一ORM 语句中的应用
在改造一套系统时,发现原来的SQL语句条件中混合了 AND 与 or 。如果用原生的 SQL 语句肯定是很好解决的事情,所以就不考虑用 DJANGO 的RAW SQL 来实现,如果用这个实现,比较简单,可以参考写过的一篇文章:原生SQL 返回字典在这里打算用 orM 来实现,因为条件并不复杂,也不涉及很多表的关联查询。经过测试,对于这种既有AND 又有 or ,还得注意关系的语句,可以通过多个filter 来实现。
Date: 2012-09-28 View: 2704
-
django模板中得到request 的各种信息
在做网页程序时,request,response 是少不了的,这是最基本的东西。但 django有自己的框架,在展示层,很少用到直接去取request的内容的。我以前做过java j2ee应用,有时候,经常在jsp页面用request 直接取得想要的内容。即使是用struts,也还是可以用request 去取内容的。现在在重新用 django 重写一套程序,数据库还是用原来的,有些东西如果用django的框架去套,就不一定完全合适,比如session框架,就不适合了,如果硬要用django的框架,还得去扩展很多,工作量远远大于不用框架的方式。图片链接django 也可以在模板中直接得到request 的各种信息吗? 肯定是可以的。只是需要做一些配置。首先是setting.py 文件配置:
Date: 2012-09-26 View: 4906
-
python 写日志文件
项目的开发过程中,日志文件是少不了的,通过写日志文件,可以知道程序运行的情况。特别当部署在生产环境中的时候,这个时候一般不能debug , 当然在有些情况时可以 remote debug (远程debug)。那种情况另当别论。还是用通常的写日志的方法,比如在 java 中,经常可以看到 log4j,sf4j,logback等三方组件来写日志。在python中如何实现呢,其实python 本身也带了日志操作的库。可以直接使用。这里我把在项目中用到的整理了一下,分享在下面,这个实现的方法,主要有两点1. 写日志的类2.日志配置文件(handler,logger,以及日志保存的路径等)
Date: 2012-09-25 View: 6748
-
Apache,wsgi,django 程序部署配置
前段时间,我写过一篇文章,ngixn,uwsgi,django,python 环境配置,有兴趣的朋友可以参考 nginx,django部署后来有人在QQ上问我,用Apache 好部署吗?我当时只在windows下用 APACHE2.3,django1.4,wsgi 部署过,还没有在 linux 下部署。前几天有时间,我在 centos 上测试部署了一下。也不难。唯一的差别是,在windows 下有已经编译好的 wsgi.so 文件,放到 apache 的 modules下,然后在 httpd.conf 中增加LoadModule wsgi_module modules/mod_wsgi.so 。
Date: 2012-09-19 View: 9137
-
django,python 实现博客随机日志的方法
在写博客的时候,通常会加入最新日志,随机日志等。特别是用过WORDPRESS 博客的,都基本用过这个功能,但这个随机日志是怎么得到的呢。为了验证方便,假设有一个表:my_article.想在自己的博客中也加入类似的功能。初步考虑,有如下几种方法。一. 纯数据库方式
Date: 2012-09-18 View: 3203
-
外部python脚本调用django model
django 工程是运行在web server 下得。然而,通常需要开发一个外部的脚本与这个网页工程的model打交道。本文讲诉一个简单的方法去实现,可能不是最好的方法,但毕竟是一个方法。看如下一个简单的例子。可以按照自己的需要去修改,如果你愿意的话。这个例子看起来有点故意做作,但确实能说明我要陈述的东西。
Date: 2012-09-17 View: 6467
-
django 应用执行定时任务
在Django程序中,能实现定时执行某个任务吗?类似于java spring 可以配置一个trigger,定在某个时间自动执行。最基本的,操作数据库做一些自动的计算。首先一个最基本的,如果在linux 下, 大家都可以用 "cron" 这个去做定时的任务. 由此,可以想到一种方法1)首先自定义一个 管理命令(custom management command), 比如.代码片段, 请查看文章详情 ...
Date: 2012-09-17 View: 7280
-
分层评论的实现思路,thread comments 实现思路,数据库存树状结构
用django 做了个小应用,最后需要做一个评论的东西。最好是树状结构,分层的。 django 本身有 comment这个 app ,但不支持分层的。个人觉得很不好用,也很不方便,如果真是类似 django 自带的 comment 自己实现一个是很轻松的事。跟不不用 comment app.因为不能满足自己的需要,所以就想做一个 thread comments. 虽然网上有 django thread comments 的下载,但还是想自己实现一个,今后好扩展。因为自己实现的,可以不拘泥于django框架。自己用原生态方法实现。其实可以把评论当做一棵树来看,用类似于树的前序排列方法,应该可以实现这功能。记录一个大概的思路,虽然还没完全实现,但我会实现的。
Date: 2012-09-16 View: 3158
-
python读写配置文件
在用编译型语言写程序的时候,很多时候用到配置文件,作为一个约定的规则,一般用 ini 文件作为配置文件,当然不是绝对的,也可能是XML等文件。配置文件是配置的参数是在程序启动,或运行时需要的,作为编译型语言,几乎都会用到,但python是动态语言。动态语言的一大特性是解析执行的。所以很多情况下需要配置的参数,通常会被直接写在脚本里。一个常用的做法,就是单独用一个文件来作为配置文件,比如我们经常接触的 django ,他会用 settings.py ,urls.py 来配置一些参数。在需要修改的时候,直接修改这个 py 文件就可以了。即使是这样,python 仍然提供了,读取配置文件的方法。在与其他系统结合的时候,通常会用得着。查看文档,自己实现了一个比较通用的读写配置文件的方法
Date: 2012-09-13 View: 4265
-
django 复合主键(composit primary key)
项目开发中,不是所有表都只有一个主键。如果只有一个主键的情况,django 很容易做,也很好做。在models.py 中定义 class 时,可以直接实现:比如:class Category(models.Model): catid = models.CharField(primary_key=True)
Date: 2012-09-11 View: 10261