2013-03-01 3 views
2
@mod.route('/participate/<survey_id>/', defaults = {'work_id':None}, methods = ['GET','POST']) 
@mod.route('/pariicipate/<survey_id>/<work_id>', methods = ['GET', 'POST']) 
def participate(survey_id, work_id): 
    /* do_something .. */ 

я могу получить доступ http://localhost:5000/participate/512dc365fe8974149091be1f или http://localhost:5000/participate/512dc365fe8974149091be1f/ и если я запустить отладчик, я могу видеть, что work_id = None.колба необязательный параметр URL не работает

Если я пытаюсь http://localhost:5000/participate/512dc365fe8974149091be1f/512dc365fe8974149091be1f или http://localhost:5000/participate/512dc365fe8974149091be1f/512dc365fe8974149091be1f/ я получаю 404.

почему это происходит? Есть ли что-то, что я сделал неправильно с правилами маршрутизации?

ответ

2

Ваш второй маршрут имеет опечатку в нем :)

@mod.route('/pariicipate/<survey_id>/<work_id>', methods = ['GET', 'POST']) 

должен быть

@mod.route('/participate/<survey_id>/<work_id>', methods = ['GET', 'POST']) 
+0

да, спасибо кучу! – thkang

+1

Случается к лучшему из нас :) PS: вы должны отметить ответ как принятый – entropy

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