2013-03-19 3 views
0

Я являюсь noob для миров python и web.py.web.py не обнаруживает метод GET

Я только что создал три файла

urls.py

url_mappings = (
    '/', 'index' 
) 

index.py

class index: 
    def GET(self): 
     return "<h1>Hello World</h1>" 

    def POST (self): 
     return "<h1>Hello World in POST</h1>" 

webstart.py

import web 
import index 
from urls import url_mappings 

if __name__ == "__main__": 
    app = web.application (url_mappings, globals()) 
    app.run() 

Я начинаю свой Dev сервер с питона webstart.py и когда я ударил LOCALHOST: 8080, он отправляет None в браузере и в журналах я вижу следующее

127.0.0.1:52822 - - [19/Mar/2013 20:44:18] "HTTP/1.1 GET /" - 405 Метод не разрешен 127.0.0.1:52822 - - [19/Март/2013 20:44:18] "HTTP/1.1 GET/favicon. ico "- 404 Не найдено

Что мне не хватает?

+0

Разве это не основное, что описано в «руководстве пользователя» на web.py? – KevinDTimm

+0

В руководстве пользователя (http://webpy.org/docs/0.3/tutorial#starting) у них есть весь код в одном файле, и я пробовал это, он работает. Но когда я храню их все в трех разных файлах, это не сработает :( – thefourtheye

+0

Сегодняшний важный урок - меняют только одно, за один раз - В этом ключе вопрос - это вопрос? – KevinDTimm

ответ

1

web.py не может найти класс контроллера, вы должны либо изменить urls.py:

url_mappings = (
    '/', 'index.index' 
) 

или импортировать index класс в webstart.py

from index import index 

т.е. вы должны либо карту URL непосредственно module_name.class_name или import class_name from module_name, так что class_name доступен в глобальном масштабе.

Смежные вопросы