除两页以外的所有页面

时间:2013-11-29 03:02:55

标签: python html css regex google-app-engine

具体来说,页面使用可选的正则表达式。通过可选,我的意思是下面的PAGE_RE。

我正在创建一个Wiki。如果用户搜索某个术语,并且该术语尚不存在,则会将用户重定向到编辑页面,以便他们可以创建新内容。但是,只有在用户登录时才会发生这种情况。要确定用户是否已登录,我会检查cookie。如果用户没有登录(没有cookie),那么我将重定向而不是编辑页面来创建新内容,而是重定向到登录页面,由下面的Login类处理。用户登录,创建cookie,然后将其重定向到编辑页面以创建他们最初搜索的内容。为了记住他们的主题是什么,所以我可以在登录后重定向,我将主题(以'/topic'形式)发送到Login类,在那里它被get作为参数接收并且post方法。如果用户只是访问该站点并正常登录,则会将其重定向到主页,但在这种情况下,因为getpost已收到该主题且不是{{1我使用下面的行None将它们发送到原始目的地。问题是,css不适用于下面使用PAGE_RE的两个网址。 JsFiddler4显示有一个涉及self.redirect('/edit/%s' % topic[1:])的404。一段时间后,当它收到额外的“主题”参数时,它突然点击该网址不是登录页面的网址。 /login/css/wiki.css也是如此。当它们有时不同时,我如何让这些页面/网址上的CSS工作?我不知道发生了多长时间,然后我下载并运行了JsFiddler4并弄明白了。我正在使用Google App Engine,webapp2,jinja2。任何帮助非常感谢。除了这两页,css工作正常。

此代码无序且不完整,但我希望它足够

EditPage

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。这是似乎正在发生的事情。 这个重定向是向上面的Login类发送一个参数:

self.redirect('login/%s' % wiki_topic) #wiki_topic = something like 'topic'

在查找页面的css时,似乎会发生直到'/'的路径的最后一部分,取而代之的是css的路径,'/css/wiki.css'就我而言。

所以我传递了'login / topic',只是'topic'被css路径替换为:

'login/css/wiki.css'而不是正确的'css/wiki/css'.

为了防止这种情况发生,我改变了从

重定向到Login类的行
self.redirect('login/%s' % wiki_topic) to >> self.redirect('login%s' % wiki_topic)

第二个版本在%s之前没有斜杠。