我有这样一个服务器端webpy代码:
urls = (
'/home', 'homePage',
'/clients/(.*)', 'clientsPage',
)
# Class for common pages methods and parameters
class allpages(object): ....
def logout(self):
i=web.input().keys()[0]
if i=='logout': session.kill()
return
class homePage(allpages):
def GET (self):
self.loginCheck()
return self.showpage('home',self.userName())
def POST (self):
self.logout()
return
class clientsPage(allpages):
def GET (self, client):
self.loginCheck()
if client == '': clientID=renderInc.firmlist('clients')
elif client == 'new': clientID=renderInc.newfirm('clients')
else: clientID = 'There is no such client' #TODO: make a 404 page
return self.showpage('clients',clientID)
def POST (self):
self.logout()
return
在我的一个HTML模板(页脚)中有一个“注销”按钮,它在单击时运行脚本:
^{pr2}$在/home部分中一切正常,但当我试图从/clients/pages注销时,会引发一个错误:TypeError:POST()只接受1个参数(给定2个参数)。在
问题1:为什么会发生?
问题2:是否有任何方法可以使任何方法在默认情况下在每个页面上的POST中运行(而不是在每个类中复制self.logout()
行)。在
问题1: regex中clientsPage-(.*)的捕获说明网页.py希望捕获URL的这一部分并将其作为参数传递给POST方法。从你的代码来看,这似乎是客户机id
问题2: 我只是用一个单独的网址注销。你不需要每一页都注销。在
相关问题 更多 >
编程相关推荐