web.py +bootstrap 做网站笔记(1)

使用web.py 做后台开发+bootstrap 感觉能做出比较好的效果,今天就尝试一下。

1.web.py的基本使用和bootstrap的配置

(小僧使用的ubuntu)

bootstrap:    http://getbootstrap.com/getting-started/

具体安装bootstrap包可以借助bower  :http://bower.io/  

遇到的问题:

1.写好的代码执行后,web.py提示招不到js文件 图片等问题?主要是路径问题

搞了半天,原来是当时没注意web.py对静态文件的访问控制。

看了http://webpy.org/cookbook/staticfiles.zh-cn

另外 ./ 代表当前目录 ; ../ 代表上一级目录 ,一次类推。。

2.  <type 'exceptions.IndexError'> at /login

already passed 0

在web.py教程里看到db.select()的结果可以当dicitonary来用,

得知db.select()返回web.utils.IterBetter,看代码注释中说可以用做迭代器,不能往回迭代(cannot go backwards)

http://lost-theory.org/webpydocs/web/utils.py.html?f=311&l=348#311

 

这两段代码错误就是因为第一次for迭代到最后一个元素,不能返回到第一个元素迭代了

于是将IterBetter的所有元素添加到list当中:

users = []

user_temp = db.select('users')

for user in users_temp:

  users.append(user)宁

3.Peer authentication failed for user "postgres" 

postgresql 认证的问题,如果安装上之后不做一以下修改,回报上述错误。

修改之后就不用每次执行python code,py 后都需要su postgres,不然切换到postgres用户下,存在文件访问权限的问题。

解决办法如下:

1. 运行下面的命令编辑pg_hba.conf文件

sudo gedit/etc/postgresql/9.1/main/pg_hba.conf

2. 将# Database administrative login by Unix domain socket

local all postgres peer

改为

# Database administrative login by Unix domain socket

local all postgres trust

3. 保存后执行下面的命令重新加载配置文件

sudo/etc/init.d/postgresql reload


4. 数据库操作的时候 WHERE id=<built-in function id>

db.delete('entries', where = 'id = $id', vars = locals())

Because id is a build in function, so you have to define it in vars:

涉及到id=‘id’的情况,需要加入  vars=locals()  ,因为id在python里有id() 函数。

4.javascript里面使用python的注意事项:

    web.py中,js里面本来就有$符号,如果script中有$符号,会出现语法错误,所以最好是将js代码放到js文件中使用。

    另外在js中同样可以使用$var的形式使用python变量。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值