2017-10-08 60 views
0

出于某种原因,每次运行我的Web应用程序时都会出现新错误,无论是找不到我的页面,还是属性错误或KeyErrors,我都不知道为什么。我正在学习一段时间写的教程,一些web.py规则可能已经改变了,但我无法弄清楚为什么这不起作用。这里是我的controller.py文件:Web.py路由似乎保持中断

import web 

urls = { 

    '/', 'Home', 
    '/register', 'Register', 
    '/postregistration', 'PostRegistration' 
} 

render = web.template.render('Views/Templates', base='MainLayout') 

# Classes/routes 
class Home: 
    def GET(self): 
     return render.Home() 

class Register: 
    def GET(self): 
     return render.Register() 

class PostRegistration: 
    def POST(self): 
     data = web.input() 
     return data.username 

if __name__ == '__main__': 
    app = web.application(urls, globals()) 
    app.internalerror = web.debugerror 
    app.run() 

我的文件结构如下所示:

controller.py 
Models/ 
static/ 
    css/ [css files] 
    js/ [javascript (bootstrap, jquery) 
Views/ 
    Templates/ 
     MainLayout.html 
     Home.html 
     Register.html 

我开发在Windows上,有人可以帮我吗?

+1

将url中的支撑更改为括号。 – vatay

+0

这么简单,但很虚幻...... –

+0

这个词是“难以捉摸的”。 –

回答

1

您的urls使用花括号{}而不是正确的括号()编写。大括号使项目set,这不保证顺序。圆括号使它成为确保订单的一个元组。

web.py通过url,两乘二,假设第一个是url部分,第二个是处理它的类。没有保证的排序,你的结果是随机的。