Ric*_*ard 5 python sqlite web.py
我正在按照这里的教程http://webpy.org/docs/0.3/tutorial然后浏览网页,了解如何使用sqlite的待办事项列表部分,并找到了这个http://kzar.co.uk/blog /view/web.py-tutorial-sqlite
我无法通过此错误.我搜索过,没有一个我能找到的结果帮助我太多了.大多数人建议从括号中取出引号.
错误
<type 'exceptions.ValueError'> at /
invalid literal for int() with base 10: '19 02:39:09'
Run Code Online (Sandbox Code Playgroud)
code.py
import web
render = web.template.render('templates/')
db = web.database(dbn='sqlite', db='testdb')
urls = (
'/', 'index'
)
app = web.application(urls, globals())
class index:
def GET(self):
todos = db.select('todo')
return render.index(todos)
if __name__ == "__main__": app.run()
Run Code Online (Sandbox Code Playgroud)
模板/ index.html的
$def with (todos)
<ul>
$for todo in todos:
<li id="t$todo.id">$todo.title</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
testbd
CREATE TABLE todo (id integer primary key, title text, created date, done boolean default 'f');
CREATE TRIGGER insert_todo_created after insert on todo
begin
update todo set created = datetime('now')
where rowid = new.rowid;
end;
Run Code Online (Sandbox Code Playgroud)
对web.py sqlite来说很新
某处,int()正在用参数调用'19 02:39:09'。 int()无法处理冒号或空格。
>>> int('19 02:39:09')
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
int('19 02:39:09')
ValueError: invalid literal for int() with base 10: '19 02:39:09'
>>> int(':')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
int(':')
ValueError: invalid literal for int() with base 10: ':'
>>> int('19 02 39 09')
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
int('19 02 39 09')
ValueError: invalid literal for int() with base 10: '19 02 39 09'
>>> int('19023909')
19023909
>>>
Run Code Online (Sandbox Code Playgroud)
我建议打电话replace()去掉空格和冒号,如下所示:
>>> date='19 02:39:09'
>>> date=date.replace(" ","")
>>> date
'1902:39:09'
>>> date=date.replace(":","")
>>> date
'19023909'
>>> int(date) ## It works now!
19023909
>>>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
1655 次 |
| 最近记录: |