0
我一直在關注這個基本的博客設置與Webpy:使用基本webpy博客的日期時間或時間戳
我所擁有的一切完全一樣的,所以我不認爲任何需要我在這裏發佈我的代碼不過我使用PSQL,因此我有如下使我model.py一些變化,這就是:
import web
import datetime
db = web.database(dbn="postgres", db='basic_blog', user='my_name')
def get_posts():
return db.select('entries', order='id DESC')
def get_post(id):
try:
return db.select('entries', where='id=$id', vars=locals())[0]
except IndexError:
return None
def new_post(title, text):
db.insert('entries', title=title, content=text, posted_on=timestamp)
def del_post(id):
db.insert('entries', where='id=$id', vars=locals())
def update_post(id, title, text):
db.update('entries', where='id=$id', vars=locals(),
title=title, content=text)
當我創建的模式,我無法使用DATETIME,因爲它似乎不要在psql中,所以我使用了TIMESTAMP,但是我不確定e如何讓這個工作在model.py文件中,或者如果我需要導入datetime仍然。
當我嘗試運行它是以上並進入/新在我的本地主機我得到這個錯誤信息:
global name 'timestamp' is not defined
我試圖在PSQL模式變更的類型,只是「日期」但仍然有同樣的問題,不知道還有什麼要做。
非常感謝你! –
所以我現在得到這個錯誤,只要我點擊提交後寫一個測試職位在/新 列「posted_on」是時區類型的時間戳,但表達式是數值型的線1: ...試試(content,posted_on,title)VALUES('test',1450833444 ... ^提示:您將需要重寫或轉換表達式 Python \t /usr/local/lib/python2.7/site -packages/web/db.py in _db_execute,line 586 Web \t POST http:// localhost:8080/new –
'test'是我試圖在那裏提交的測試帖子,我不知道我需要重寫什麼表達式,這是否意味着在psql中的表達?我一直在閱讀關於時間戳的文檔,並從我的理解只是做'posted_on TIMESTAMP WITH TIMEZONE'應該工作(我認爲) –