蓝天,小湖,湖水中一方小筑

django的资源文件

刚看了怎么在django的工程中加入资源文件夹,即放一些静态内容,像html页面,css文件什么的,其实放在外面也可以,但是总感觉有些怪,还好step by step讲到了这一课,其实也没什么难的,它给的例子是在urls.py中加了一行,以解析URL,然后在settings.py中加上了一个相当于常量定义的命令, 把一个目录定义成常量,然后在网站根目录下建立了这个目录,于是,就可以了。urls.py中更改的和以前有些不太相同,使用了django.views.stati c.serve,而此参数需要一个参数,文档根目录,所以需要在后面加上{‘document_root’: settings.STATIC_PATH}),那个settings.需要在开头加上import django.conf import settings以导入 模块。其它在网页中就可以使用/site_media来访问./media目录了,那个site_media是在urls.py中定义的,那个patten也有些不同 ,后面加上了一些东西,r'^site_media/(?P<path>.*)$',还没太弄懂,过过再说。

FileField的相关内容

由于要存储文件,所以使用了FileField类型的变量,后来学会了查db_api手册,知道了它的方法,比如想设个超链接,可以调用get_FOO_url得到它 的路径,不过在这之前要设置好settings.py中MEDIA_URL的值,否则得不到正确的结果,在设置的时候,需要在MEDIA_URL最后的那个目录后加一 个/,否则好像地址不能很好的识别。别的还有一些方法,像文件名什么的,另外还有ImageField特有的一些方法还是满不错的。不过不知道为什么我现在不能上传文 件名中有中文的文件,不知道是它不支持还是我设置的问题,有空去网上找找,实在不行就只有再骚扰limodou了。 ;) btw: 如果那个FileField需要提供下载的话,需要在app或整个工程的urls.py中设置一下patten,要不然会出错,系统不认。

Django中CharField的choices

本来以为是比较难的问题,试了一堆记忆中的属性什么的,就是不认,后来骚扰了一下limodou才了解到原来是个这么简单的方法,而且在db- api手册中也有说。诶,看东西看的不仔细,丢人了啊。说说正题吧,就用step by step的例子说吧,本来显示的是M或F,因为直接调用的是address. gender,但是如果调用addres.get_gender_display就可以显示为男或女。简单吧,我怎么就没看到呢?

Django中的TIME_ZONE

今天在groups上看到有人在讨论这个问题,想想自己当时果然没有考虑到这个事情。在Django step by step中,写的是CCT,然后到django提供的网站上去查了一下,发现应该写成’Asia/Shanghai PRC',但是好像还有一个选项是’Etc/GM T+8',不知道这几个选项之间是什么关系。groups上有人说用CCT时会出现时间设置不对的问题,另外两个好像没有。我也没有试验,只是把这个东西写下来,算是 知道有这么个东西吧,呵呵 :)

Django中的templates

昨天想改一下模板的路径,主要是想在每个app中建立一个templates的目录,然后系统直接去那个目录寻找相应app的view的模板,按网上的方法,在set tings.py的TEMPLATE_DIRS项中加上了app的templates目录,但是在浏览器中查看的时候,它告诉我找不到模板,后来用Filemon看了 一下,它在app目录下的templates中也是按着默认的路径查找的,也就是templates/APP_NAME/ MODE_NAME_list.html文件,于是就把templates改回来了。不清楚是它只能这么找还是我的配置有误。

Django数据库中的FileField

本来是想把料单直接存在数据库中,不过后来发现这些有可能要自己实现,考虑到我自己的功力,只好做罢,不过那天看django数据库的API时,发现有FileF ield一栏,当时就想能不能用,后来组织数据库的时候真用了上,不过后来在运行manage.py syncdb的时候,它提示说FileField需要uplod a_to参数,但当时真没看明白,今天碰到错了,就去python的groups上查了一下,总算找到了设置的方法。 首先是要设置setting.py中MEDIA_ROOT的值,是一个路径,而且是在机器上的绝对路径。说真的,对绝对路径真的很不感冒,对移植上很不好办,不过有些 东西还真得要这种绝对路径,大概是对某些服务器来说,配置定下来后就不会再更改了吧,好像django的建议上也是说用django这个服务器不是长久之计,最好还是 移植到Apache上,而移植过去就需要设置绝对路径。呵呵,有些跑题了,不过最后还是要考虑移植到Apache的虚拟主机上。后来在upload_to中可以写上u pload_to=‘file’,但是在admin的管理界面时,这是一个上传文件的表单,不清楚那个file是什么意思,不过最后文件是上传到那个MEDIA_RO OT标示的目录下了。但是碰到的一个问题是,在删除一条记录后,那个上传上去的文件不会被删除,这应该是件比较郁闷的事情。也许是我看错了,不过我试验的那一条是没有 删除。 暂时就想到这么多吧,不过算是把那个数据显示的东西搞定了,也在模板中正确的显示出来了,明天再看看怎么把导进去,接着做吧,感觉django还是满好玩的一个东西。

Apache的虚拟主机

用Django的过程中,突然想用Apache+mod_python来玩玩,看了几篇文章,都是需要配置虚拟主机,于是就玩玩吧。主要就是在http.conf中加 上一段虚拟主机的配置:

Python中的字符编码

想用Django做些东西,大概算是一个用于管理的网站吧。当然是要做个主页,首先是想在工程目录下放一个index.htm的文件,但是好像django自带的那个 服务器不认这个东西,只好写个模块,并改urls.py,让它能访问,我不想把主页写死在模块里面,所以写到了一个网页文件中,index.htm,然后再用模块从文 件中读数据进来,结果出现了乱码,其实也就是浏览器默认用的是utf8的编码,但是我的文件用的是GB2312的编码,所以乱码就横空出世了。一开始以为是那个ind ex.htm文件的问题,于是把它的编码也切成utf8,但是再次显示的时候还是乱码。上网查了一下,好像是python自动判断系统的编码,然后进行转换。后来加上 了这几句话就好了。不过不清楚为什么要加上那句reload,不知道是不是怕程序执行过程中系统环境发生变化。 import sys reload(sys) sys.setdefaultencoding(‘utf8’)

PSPad

小试了一下这个软件,第一感觉还是满不错的,和UE和长的很像,功能也不少,不过可惜的是自从用过VIM后就对其它的编辑器不再有兴趣,所以也只好把它作为替换品 了。不过还是推荐用UE或EP的人用一下,免费的软件,很不错的。

键盘上的Power键

以前一直被键盘上的那个按键郁闷着,一不小心碰一下就FT了,偏偏赶上那个键是在Break的位置,又容易被我按下去,真是郁闷,8过今天好像在论坛上看到一个方法, 控制面板->电源管理->高级选项 里面确实是有那个设置,设置了一下,8知道有没有用,偶现在用的键盘上可没这个键,也幸亏没这个键……