February 2012 M T W T F S S « Jan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 -
新鲜出炉
雁过留声
- Ivy on 2012,魔都开年
- hzmangel on 2012,魔都开年
- Lena on 2012,魔都开年
- hzmangel on List all CVS tags
- OO on List all CVS tags
Tags
不明真相之围观
- Android中使用自定义Adapter - 3,842 views
- 让win下的vim支持非等宽字体 - 2,417 views
- C++中静态成员函数的声明及定义 - 1,332 views
- python中的静态成员函数 - 1,291 views
- VIM LaTeX Suite - 1,290 views
- List的Iterator - 1,065 views
- Pietty + Xming,在Win下用X - 1,008 views
- 给iphone传电子书 - 943 views
- AutoHotKey 设置窗口在最前 - 748 views
- 用AutoHotKey窗口平分屏幕 - 709 views
归个类
回忆
- January 2012 (1)
- December 2011 (1)
- November 2011 (1)
- September 2011 (1)
- July 2011 (2)
- June 2011 (1)
- May 2011 (2)
- April 2011 (1)
- March 2011 (3)
- January 2011 (2)
- December 2010 (4)
- October 2010 (2)
- September 2010 (2)
- August 2010 (1)
- July 2010 (3)
- June 2010 (3)
- May 2010 (2)
- March 2010 (5)
- January 2010 (7)
- December 2009 (5)
- November 2009 (2)
- October 2009 (1)
- September 2009 (5)
- August 2009 (3)
- June 2009 (1)
- May 2009 (4)
- April 2009 (2)
- March 2009 (1)
- February 2009 (3)
- January 2009 (3)
- December 2008 (6)
- November 2008 (14)
- October 2008 (5)
- September 2008 (11)
- August 2008 (8)
- July 2008 (9)
- June 2008 (21)
- May 2008 (17)
- April 2008 (17)
- March 2008 (15)
- February 2008 (1)
- January 2008 (3)
- December 2007 (1)
- October 2007 (12)
- September 2007 (8)
- August 2007 (9)
- June 2007 (8)
- May 2007 (10)
- April 2007 (3)
- November 2006 (5)
- October 2006 (2)
- September 2006 (16)
- August 2006 (13)
- July 2006 (4)
- June 2006 (1)
- April 2006 (1)
- March 2006 (6)
- February 2006 (1)
- January 2006 (3)
- December 2005 (6)
- November 2005 (15)
- October 2005 (12)
- September 2005 (1)
- June 2005 (4)
- May 2005 (12)
- April 2005 (16)
- March 2005 (6)
- January 2005 (13)
- December 2004 (3)
- November 2004 (8)
- October 2004 (13)
- September 2004 (13)
Category Archives: Happy coding
Django中的静态文件
不知道应不应该叫这个名字,反正给我的感觉就是它是静态的页面,纯的html语言,没有python在里面,在刚开始用django的时候,就想把主页做成一个静态的东西,那时候用的是step by step中第一讲的方法,只是把那个写死在程序中的字符串换成了一个文件的内容,然后改那个文件就可以更改主页,但是发现用不了外部链接的css,虽然可以把css内嵌到html文件中,但总觉得的些不爽。后来往后翻了翻step by step,看到最后一讲有说怎么在一个view中渲染一个简单的模板并输出,也就在是urls.py中加上下面这条语句:(r’^$’, ‘django.views.generic.simple.direct_to_template’,{‘template’: ‘homepage/index.html’}),这时候才算找到了好一些的方法,在那个目录下面就可以按正常网页开发了,不过外部链接的文件都要使用基于templates的路径,也就是说那个index.html要放在templatex/hompage目录下,如果下面要使用css文件,还不能使用相对于index.html的相对路径,有些郁闷,正在考虑是不是把所有的css文件什么的放到一个统一的目录下,目录结构大变动啊。呵呵,睡觉了,醒来再折腾吧:)
Posted in Happy coding
Leave a comment
创新的数据总算导完了
先是存成sql语句,然后回来才想起来,PHP用的是我自己建的表,而Django中要用它的表,两个结构不同,用不了sql语句,于是想到用导入csv文件的办法,刚好setp by step有这个例子,而且Django中可以直接导入csv文件,不用我再去写那些分隔什么的了,还是满方便的,所以就想到了导入csv文件。 想好了就要开工,那个例子以前做过,所以还有点印象。首先是写module,主要就是构建数据表的结构,想了好久,才觉得大概能够把表结构定下来了,不过还是相当于留了两个备注字段,应该够用了吧,如果不够用需要倒数据的话那真要疯了。其实说疯也有些夸张,再写程序导吧,呵呵。 一开始写的module中没有主键,主要是看它的文档中说它会自己加上一个自增的主键,所以没去理会,但是在导入的时候,有一个filter要选择一条记录,一开始不知道,使用第一个字段,即申请人做关键字,结果前面写进去的记录当碰到后面相同申请人的记录时,全部被覆盖(我的那个csv文件后面有一个空行,在导入的时候读入最后一行的时候会出错,下标越界,不过还好,前面的数据都导入了)。后来把csv文件分成了大概10条一个的小文件,再导入的时候才发现是这个问题,再看看它的文档说是如果用户自己没有设置自境的主键的话,系统会给设一个,不过我试了,不能调用,于是自己设一个吧(又把表结构重弄了一遍,真的很FT,还好没什么数据),后来问题就解决了。在module.py中的__str__方法中可以设置在管理界面中每一条记录显示的内容,step by step中说还有一个__repr__,但是我用了后没反应,不知道为什么。最后还要加上一个class Admin: pass以开启管理功能。 在使用导入csv功能的时候,那个urls的映射要弄好,要不然服务器会提示找不到匹配的模式,不予解析。一般是在根目录下的urls.py中设置如果要访问app,则把app中的utls.py包含进来,然后再在urls.py中解析对应于app的地址映射。 本来想用sqlite数据库,不过用了一段时间,感觉上还是有些不方便的地方,一是管理工具不是很方便,二是性能上处于劣势,最后考虑了一会,还是选用了mysql,导入的时候明显速度快了很多,不过那段导入的代码还是很有用的,到时候如果再换表结构的话,就又要用到它了。 数据方面总算折腾完了,现在要把原来的表的记录改动一下,让它适应新的表的结构,还有一些细节方面的问题,像文件上传,显示的图标什么的,慢慢做吧,不管怎么说,大头数据导进来了,也没什么好怕的了。 btw: django中不能直接接收2000-01-01格式的字符串作为datetime类的输入,还要把它拆开成’2000′, ’01′, ’01′三个字串,不知道后续版本会不会把这个功能加上,虽然不加也能用,只要用下标把子串取出来就可以了,但总感觉有些不爽。
Posted in Happy coding
Leave a comment
CSS中的ID和class
本来以为它们两个是没什么太大区别的,但是今天上网上一查,发现还是有些区别的。最主要的大概就是在CSS定义中,ID是以#开头的,而class是以.开头的。而且在网页编程中,一个ID只能出现一次,就像某个东西的标识符一样,在一个页面中,只能有一个,而class是可以出现多次的。看了一篇文章说,id是先找到结构或内容,再套用样式,而class是先定义好样式,再应用到多个结构或内容上,呵呵,还真有点这么回事
Posted in Happy coding
Leave a comment
django的资源文件
刚看了怎么在django的工程中加入资源文件夹,即放一些静态内容,像html页面,css文件什么的,其实放在外面也可以,但是总感觉有些怪,还好step by step讲到了这一课,其实也没什么难的,它给的例子是在urls.py中加了一行,以解析URL,然后在settings.py中加上了一个相当于常量定义的命令,把一个目录定义成常量,然后在网站根目录下建立了这个目录,于是,就可以了。urls.py中更改的和以前有些不太相同,使用了django.views.static.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>.*)$’,还没太弄懂,过过再说。
Posted in Happy coding
Leave a comment
FileField的相关内容
由于要存储文件,所以使用了FileField类型的变量,后来学会了查db_api手册,知道了它的方法,比如想设个超链接,可以调用get_FOO_url得到它的路径,不过在这之前要设置好settings.py中MEDIA_URL的值,否则得不到正确的结果,在设置的时候,需要在MEDIA_URL最后的那个目录后加一个/,否则好像地址不能很好的识别。别的还有一些方法,像文件名什么的,另外还有ImageField特有的一些方法还是满不错的。不过不知道为什么我现在不能上传文件名中有中文的文件,不知道是它不支持还是我设置的问题,有空去网上找找,实在不行就只有再骚扰limodou了。 btw: 如果那个FileField需要提供下载的话,需要在app或整个工程的urls.py中设置一下patten,要不然会出错,系统不认。
Posted in Happy coding
Leave a comment
Django中CharField的choices
本来以为是比较难的问题,试了一堆记忆中的属性什么的,就是不认,后来骚扰了一下limodou才了解到原来是个这么简单的方法,而且在db-api手册中也有说。诶,看东西看的不仔细,丢人了啊。说说正题吧,就用step by step的例子说吧,本来显示的是M或F,因为直接调用的是address.gender,但是如果调用addres.get_gender_display就可以显示为男或女。简单吧,我怎么就没看到呢?
Posted in Happy coding
Leave a comment
Django中的templates
昨天想改一下模板的路径,主要是想在每个app中建立一个templates的目录,然后系统直接去那个目录寻找相应app的view的模板,按网上的方法,在settings.py的TEMPLATE_DIRS项中加上了app的templates目录,但是在浏览器中查看的时候,它告诉我找不到模板,后来用Filemon看了一下,它在app目录下的templates中也是按着默认的路径查找的,也就是templates/APP_NAME/ MODE_NAME_list.html文件,于是就把templates改回来了。不清楚是它只能这么找还是我的配置有误。
Posted in Happy coding
Leave a comment
Django数据库中的FileField
本来是想把料单直接存在数据库中,不过后来发现这些有可能要自己实现,考虑到我自己的功力,只好做罢,不过那天看django数据库的API时,发现有FileField一栏,当时就想能不能用,后来组织数据库的时候真用了上,不过后来在运行manage.py syncdb的时候,它提示说FileField需要uploda_to参数,但当时真没看明白,今天碰到错了,就去python的groups上查了一下,总算找到了设置的方法。 首先是要设置setting.py中MEDIA_ROOT的值,是一个路径,而且是在机器上的绝对路径。说真的,对绝对路径真的很不感冒,对移植上很不好办,不过有些东西还真得要这种绝对路径,大概是对某些服务器来说,配置定下来后就不会再更改了吧,好像django的建议上也是说用django这个服务器不是长久之计,最好还是移植到Apache上,而移植过去就需要设置绝对路径。呵呵,有些跑题了,不过最后还是要考虑移植到Apache的虚拟主机上。后来在upload_to中可以写上upload_to=’file’,但是在admin的管理界面时,这是一个上传文件的表单,不清楚那个file是什么意思,不过最后文件是上传到那个MEDIA_ROOT标示的目录下了。但是碰到的一个问题是,在删除一条记录后,那个上传上去的文件不会被删除,这应该是件比较郁闷的事情。也许是我看错了,不过我试验的那一条是没有删除。 暂时就想到这么多吧,不过算是把那个数据显示的东西搞定了,也在模板中正确的显示出来了,明天再看看怎么把导进去,接着做吧,感觉django还是满好玩的一个东西。
Posted in Happy coding
Leave a comment
Python中的字符编码
想用Django做些东西,大概算是一个用于管理的网站吧。当然是要做个主页,首先是想在工程目录下放一个index.htm的文件,但是好像django自带的那个服务器不认这个东西,只好写个模块,并改urls.py,让它能访问,我不想把主页写死在模块里面,所以写到了一个网页文件中,index.htm,然后再用模块从文件中读数据进来,结果出现了乱码,其实也就是浏览器默认用的是utf8的编码,但是我的文件用的是GB2312的编码,所以乱码就横空出世了。一开始以为是那个index.htm文件的问题,于是把它的编码也切成utf8,但是再次显示的时候还是乱码。上网查了一下,好像是python自动判断系统的编码,然后进行转换。后来加上了这几句话就好了。不过不清楚为什么要加上那句reload,不知道是不是怕程序执行过程中系统环境发生变化。 import sys reload(sys) sys.setdefaultencoding(‘utf8′)
Posted in Happy coding
Leave a comment
Django出错
今天想用django做些东西,8过没想到居然出错,说是importError,想想也不应该啊,基本是按着Django step by step做的,后来就差用diff一点一点看了,终于找到了出错的地方,默认的那个urls.py里面有个include(”),但是django step by step里面的没有这个语句,后来把那条语句改了就对了,就像这样:默认的是 (r’^$’, include(‘ilab.homepage.index’)), 结果出错,改成下面的这样就不会出错了。 (r’^$’, ‘ilab.homepage.index’), 原因嘛,嘿嘿,未知。
Posted in Happy coding
Leave a comment