web.py呈现错误的页面,路径不正确

时间:2016-11-16 18:28:00

标签: python session web.py

我正在使用用户身份验证组件的项目上使用web.py。该项目有一个/demo目录和一个/register目录。

问题在于,出于某种原因,单击要转到/register目录的按钮会转到/demo。有趣的是,如果我在网址末尾输入/register,则/register会正确显示。在这种情况下,URL不同,缺少点击按钮时出现的?register=Register部分。

单击注册按钮时出现的特定错误是:

type 'exceptions.TypeError'> at /demo __template__() takes exactly 1 argument (0 given)

它指向问题区域的代码是:

class demo:
   def GET(self):
      render = create_render(session.get('privilege', 0))
      return '%s' % render.demo() # Specifically this line generates the error.

我认为没有任何奇怪的漏洞,因为在代码中,register类和demo类之间实现了两个类。它们实际上是按照urls列表中显示的顺序实现的,其中resetprofile介于两者之间。

我认为我的urls列表没有任何问题:

urls = (
  '/', 'index',
  '/register', 'register',
  '/reset', 'reset',
  '/profile', 'profile',
  '/demo', 'demo',
  '/entropy', 'entropy',
)

这里也是按钮的HTML代码:

<form action="demo" method="GET">
   <input type="submit" name="demo" value="Demo"/>
<form/>

<form action="register" method="GET">
    <input type="submit" name="register" value="Register"/>
</form>

其他可能相关的代码:

register.GET()

class register:   
    def GET(self):
        reg_form = forms.registration_form()
        render = create_render(session.get('privilege'))
        return render.register()

create_privilege(privilege) :(解释here,#4)

def create_render(privilege):
    if logged():
        render = web.template.render('templates/logged', base='base')
    else:
        render = web.template.render('templates/', base="base")
    return render

所以,我想,最后一个问题是:为什么按钮呈现错误的页面?如果需要,我可以发布更多代码!

谢谢!

1 个答案:

答案 0 :(得分:0)

我修好了!其中一个HTML按钮出现问题,form标记未正确关闭。多么愚蠢的错误。