[ Log On ]

Python & Django

作者:shawn 发表于:2008年01月15日 -- 3865天11小时12分钟前 | 分类: 计算机 | Comments: 5 | Views: 5505 |  

今天闲来无事,看了TX的blog那么久,对脚本语言突然热衷起来,仔细考虑了下,在Python和Ruby之间我选择了前者。

简单了几章介绍Python的教程,了解了一下Python的大概语法和数据类型以及数据结构,就开始尝试写了几个简单的程序。在单机上用TK做GUI的简单和跨平台性让我对Python另眼相看。但是在写code的过程中,我极度不适应Python的indent,感觉没有curly brackets用的爽。可能是我不习惯吧还。
同样是在TX的blog上看到的Django,还有[url=http://blog.ericsk.org/archives/815]《用 Python + django 10分鐘內作出一個 blog》[/url]这篇文章,于是决定试试看Django究竟有多厉害。

之间当然遇到了不少问题,我总结一下吧:

1. 环境变量问题:
Python在Windows上安装后并没有自动注册环境变量,所以在命令行里直接键入Python并不会启动Python命令行程序,此时需要在系统中注册Python环境变量。
环境变量注册:
我的电脑->属性->高级->环境变量->系统变量
双击PATH项,添加 C:\Python25;  (C:\Python25 为Python的安装路径)

2. 在执行[code]setup.py install[/code]的时候出现了下面的错误:
[code]django 安装 错误 error: package directory '\django' does not exist2007-10-24 17:18windows install must change setup.py line 24 [/code]
仔细查找了一下资料,原来是路径问题把setup.py的第24行的
[code]package = dirpath[len_root_dir:].lstrip('/').replace('/', '.') [/code]
换成
[code]package = dirpath[len_root_dir:].lstrip('\\').replace('\\', '.')[/code]
就可以了,否则会出现 error: package directory '\django' does not exist 的错误。

3. 在执行[code]python manage.py sql blog[/code]的时候又出现了问题:
[code]TypeError: __init__() got an unexpected keyword argument ‘max_length’[/code]
Google的值,原来是开发者重新定义了变量名称,以前定义数据类型的时候,CharField的最大长度用max_length定义,而最新版本改成maxlength了,是作者笔误吗?
解决办法:把max_length改成maxlength就ok了

4. 由于自己的粗心,在开始忘记吧[code]'django.contrib.admin',[/code]放入[code]INSTALLED_APPS[/code]了,并且继续执行了
[code]python manage.py syncbd[/code],后来导致了数据表的错误(具体错误记不清了)。
再把'django.contrib.admin',加入INSTALLED_APP后,发现还是会产生[code]no such table: django_admin_log[/code]的错误。原来再加入那句之后,还需要执行一遍[code]python manage.py syncdb[/code]同步数据库。

5. 模板问题。在[url=http://blog.ericsk.org/archives/815]《用 Python + django 10分鐘內作出一個 blog》[/url]中,settings.py里面的TEMPLATE_DIRS的值为'.',可是我需要将其设为[code]'C:/Django-0.96.1/django/contrib/admin/templates',[/code]才可以用,但是这样设置还是看不到css以及相关图片,只能看到最简单级别的html页面。这也是遇到的问题中,唯一没有解决的一个,希望哪位大侠看到了给小弟解释一下。

总结:Python挺有意思,配上Django做web也是不错的选择。上手很快(据说RoR更快,但是我没有选择他)。有空的话,值得仔细研究一下。[emot]grin[/emot]

Posted by: TERRY 发表于: 1/18/2008 4:16:39 AM | 3862天19小时45分钟前
用代理路过看看.......

很好很强大.....

技术人员果然不同凡响~
Posted by: 狐狸 发表于: 1/17/2008 2:05:34 AM | 3863天21小时56分钟前
又在说我听不懂的话!
Posted by: 鑫 发表于: 1/16/2008 2:35:15 PM | 3864天9小时26分钟前
恭喜被和谐了!
Posted by: yoi 发表于: 1/16/2008 1:59:16 AM | 3864天22小时2分钟前
我是高手!![emot]stupid[/emot]
Posted by: Jack 发表于: 1/15/2008 12:55:00 PM | 3865天11小时7分钟前
小打小闹[emot]cool[/emot]

Add your Comment


Supported UBB tags: [b],[u],[i],[color]