webpy使用踩坑
1 中文亂碼怎麼解決:
修改,D:\Python36\Lib\site-packages\web\template.py, line 1016:
return Template(open(path).read(), filename=path, **self._keywords)
為
return Template(open(path,encoding='utf-8').read(), filename=path, **self._keywords)
注:如果是python2
則改為
return Template(open(path).decode('utf-8').read(), filename=path, **self._keywords)
2 資料庫怎麼改成sqlite?
modle.py中的
db = web.database(dbn="mysql", db='test.db')
改成
db = web.database(dbn="sqlite", db='test.db')
然後寫一個建立表的介面:
def create_test_db():
import sqlite3
conn = sqlite3.connect('test.db')
conn.execute('''CREATE TABLE entries (
id integer primary key autoincrement,
name TEXT,
age TEXT,
posted_on DATETIME
);''')
conn.close()
if __name__ == '__main__':
create_test_db()
3 多選的Checkbox怎麼取值?
web.form.Checkbox('fruits',value='apple',
description='蘋果'),
web.form.Checkbox('fruits',value='pear',
description='梨'),
web.form.Checkbox('fruits',value='mango',
description='芒果')
取值
fruits= web.input(fruits=[]).fruits
is_apple_checked = 'apple' in fruits
is_pear_checked = 'pear' in fruits
is_mango_checked = 'mango' in fruits