我不熟悉CherryPy和Python,但我需要编写一个非常简单的web应用程序来执行login--->;do some commands--->;logout。对于登录,我使用以下链接中的代码:
申请是:import cherrypy
import os.path
import struct
from auth import AuthController, require, member_of, name_is
class Server(object):
led_power=0
led_switch=1 #Initial LED on
_cp_config = {
'tools.sessions.on': True,
'tools.auth.on': True
}
auth = AuthController()
@cherrypy.expose
@require()
def index(self, switch='', power=''):
if switch:
self.led_switch = int(switch)
if power:
self.led_power = int(power)
html = open('led.html','r').read()
if self.led_switch:
print "ON"
else:
print "OFF"
if self.led_power:
print "Logout"
cherrypy.session.clear()
return html
index.exposed = True
conf = {
'global' : {
'server.socket_host': '0.0.0.0', #0.0.0.0 or specific IP
'server.socket_port': 8080 #server port
},
'/images': { #images served as static files
'tools.staticdir.on': True,
'tools.staticdir.dir': os.path.abspath('images')
},
'/favicon.ico': { #favorite icon
'tools.staticfile.on': True,
'tools.staticfile.filename': os.path.abspath("images/bulb.ico")
}
}
cherrypy.quickstart(Server(), config=conf)
html文件是:
^{pr2}$
一个文件夹包含三个图像。在
当我运行这个应用程序时,我可以在本地主机上看到带有用户名和密码字段的登录页面,然后我可以访问有三个按钮“on,OFF,Logout”的web页面。在
问题是我必须点击注销按钮两次注销,当我再次登录和点击任何按钮,甚至是开或关按钮页面是注销,并再次显示我的登录页面。
我不能以正确的方式注销,有什么帮助吗?在
谢谢