2017-10-08 15 views
0

웹 응용 프로그램을 실행할 때마다 내 페이지 또는 속성 오류 또는 KeyErrors를 찾을 수 없거나 새로운 오류를 발견 할 수 있습니다. 왜. 나는 잠시 후에 작성된 자습서를 따르고 있으며 일부 web.py 규칙은 변경되었을 수 있지만 이것이 작동하지 않는 이유를 알 수는 없습니다. 여기 내 controller.py 파일은 다음과 같습니다Web.py 라우팅이 계속 깨진 것 같습니다.

내가 Windows에서 개발하고 있어요
controller.py 
Models/ 
static/ 
    css/ [css files] 
    js/ [javascript (bootstrap, jquery) 
Views/ 
    Templates/ 
     MainLayout.html 
     Home.html 
     Register.html 

, 누군가가 나를 도울 수 있습니다 : 다음과 같이

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() 

내 파일 구조가 보인다?

+1

URL의 대괄호를 괄호로 변경하십시오. – vatay

+0

너무 단순하지만 너무 환상적입니다. –

+0

단어는 "애매합니다". –

답변

1

귀하의 urls은 올바른 괄호 () 대신에 중괄호 {}을 사용하여 작성되었습니다. 중괄호는 주문을 보장하지 않는 품목을 set으로 만듭니다. 괄호는 순서를 보장하는 튜플로 만듭니다.

web.py은 두 번째, 두 번째, 첫 번째가 url 부분이고 두 번째가이를 처리한다고 가정합니다. 보증 된 주문이 없으면 결과는 무작위입니다.