我是网络开发的新手。第一次使用cherrypy。
import cherrypy
import src.main
class Interface:
def __init__(self):
self.mypf = src.main.pf()
commonhtmlString = """<form method="get" action="generate">
<input type="text" value="" name="l" />
<input type="text" value="" name="r" />
<button type="submit">Give it now!</button>
</form>"""
@cherrypy.expose
def index(self):
return Interface.commonhtmlString
@cherrypy.expose
def generate(self, l, r):
self.mypf = src.main.pf()
self.mypf.getLocalityInfo(l, r)
return Interface.commonhtmlString + self.mypf.printC()
@cherrypy.expose
def explore(self, c):
return Interface.commonhtmlString + self.mypf.printIC(c)
cherrypy.quickstart(Interface())
以上代码效果很好。但是,当我打开新的浏览器或新标签并更改参数并生成新输出时...它会反映所有打开的链接并导致错误。
EXM。假设我输入l = x r = xx,结果我得到的是xxx。现在,如果我在另一个标签中打开网址并输入l = y r = yy,结果我得到的是yyy。现在发生的事情是前一个标签不是持久到xxx因此,如果我点击xxx中的某些链接,他们要么转到yyy等效链接或导致错误。
有人可以帮忙解决这个问题吗? 您可以解释或提供任何外部链接或概念。准备好阅读。 提前谢谢。
答案 0 :(得分:0)
从您的代码中很难看出您对提交的数据做了什么。您似乎将提交的值存储在服务器上的变量/数据存储区中。该变量只有一个副本,因此用户将覆盖彼此的副本。您可以考虑创建一个小型数据库并存储每个用户的输入(如果您有办法区分用户)。或者,您可以将数据存储在用户会话中,并在每次查看/刷新页面时引用它。