Python开发环境搭建记录
一、本来是想使用Eclipse作为Python的IDE编辑器,无奈该器硕大缓慢,只能另寻小巧精悍之IDE。苦觅之后终于在某权威网站找到利器ulipad:http://code.google.com/p/ulipad/ 逐用之
该器具有以下优点,
- 代码高亮,可以自定义修改
- 目录树,文件管理
- 类浏览
- 代码自动提示
二、Run起了simple-todo 程序
他们如何工作?
code.py 主要用于启动,绝大部分时候它是没有用的。
/static 这个是静态文件目录,在内置的开发服务器上不可以修改,如果你使用其他 web server 来配置的是可以改的。
/controllers 控制层的代码,或者实际工作的代码就在这里。
__init__.py 这是用来做什么的?看起来像初始化?嗯… 如果你希望某个目录可以被引用,加上这个一样空白文件就好了,表示当前是一个模块可以被引用。这是给新手做的说明。
/config 一些常用配置,我把 url 的配置独立出来了,因为项目做大了,url 很长。
我取消了 model 层,不要问我为什么,这是一个很纠结的话题,如果你需要,你可以独立出一个 model 层。
其他的应该不用解释了。
简单说一下 url 的配置
pre_fix = 'controllers.'
urls = (
'/', pre_fix + 'todo.Index',
'/todo/new', pre_fix + 'todo.New',
'/todo/(\d+)', pre_fix + 'todo.View',
'/todo/(\d+)/edit', pre_fix + 'todo.Edit',
'/todo/(\d+)/delete', pre_fix + 'todo.Delete',)
原理前面说过了,前面的访问地址对应后面的方法路径。好多重复的字符串,所以我就把前面的弄成一个变量了。
大部分时候简单的正则可以适用你的常规应用了,数字用 (\d+),字符串用 (.*) 。
新手科普
#!/usr/bin/env python
# coding: utf-8
程序文件中请确保有这两行开头,你读过简明教程,对吧?你应该懂的。第一行表示在 *nix 下面,使用 python 来解释当前程序;第二行表示当前文件编码为 utf-8。
程序老是报编码错误
数据库、程序文件等,请全部使用 utf-8 编码。
经常遇到程序编码错误?web.py 内部默认使用 unicode,经过 web.py 处理过的都是 unicode,所以你如果有中文,尝试转为 unicode,比如 a = u'中文啊'。大部分情况下可能解决。
开发服务器加载CSS文件非常慢
请统一换行符,即文件格式问题,全部使用 Unix 风格的换行符。可能是你的 CSS 是 win 格式的编码,请改为 Unix 编码。
类似 PHP 中的 include 引用在模板中如何实现?
把 render 做为全局变量放到模板中去,然后 $:render.header() 这样。同样本示例源码中也使用了该方式,而没有使用 layout 方式,该方式看官方文档。
$news.content 纯文本输出了啊?
这样 $:news.content
关于 web.input()
i = web.input() # get,post 提交的数据通收。
title = i.get('title', None) 这是什么意思?
从 i 中取 title,如果没有取到则将 title 赋值 None。不然,你直接 title = i.title 如果前面的表单中没有这一项会报错。
关于 db.select 返回的是列表
a = db.select(tb, where='id=$id', vars=locals()) # id 为自增的那个主键
select 返回的是一个列表,因此要 a[0] 取到第 1 条。不过你有经验的话,接下去仍然要判断下:
if not a:
return '没有找到结果…'
return a[0]
请阅读源代码,web.py 中文教程
读代码最实际,对吧?项目主页:
Google Code: http://code.google.com/p/simple-todo/
Bitbucket.org https://bitbucket.org/qichangxing/simple-todo
请放心,源码是可以直接工作的,可以直接在目录下 code.py 即可。其中用到了你经常用的常识,期望有了这个之后你可以轻松地开始 web.py 学习和应用之旅。那么马上开始吧:
打开code.py,Run起
注意:这个项目需要wxPython的支持,安装wxPython之前必须先安装Python2.7。我之前是装的Python3.2,不过貌似不行。