2014-04-29 1 views
3

Когда я выполнить этот URL:Как получить параметры из пути в бутылке?

http://domain:8081/forum?id=2&page=26 

с этим кодом:

@route('/forum') 
def display_forum(): 
    forum_id = request.query.id 
    page = request.query.page or '1' 
    return template('Forum ID: {{id}} (page {{page}})', id=forum_id, page=page) 

Этот возврат на веб-странице Forum ID: 2 (page 26)

Мне нужно, чтобы получить тот же результат, призывающую динамичный отдых URL. Адрес может быть http://domain:8081/forum/2/26 или http://domain:8081/forum/city/place/day/hour. Не существует фиксированного количества параметров. Я видел несколько идей в документации к бутылкам, возможно, что-то вроде подстановочного фильтра :path.

+0

Что вы делаете со вторым URL-адресом http: // domain: 8081/forum/city/place/day/hour'? –

ответ

0

Используйте параметры

@route ('/forum/forum_id=:forum_id&page=:page') 
def display_forum(forum_id,page): 
    forum_id = request.query.id 
    page = request.query.page or '1' 
    return template('Forum ID: {{id}} (page {{page}})', id=forum_id, page=page) 
+0

Вы попробовали это? Я не думаю, что это сработает. –

+0

@ ron.rothman Я просто добавил параметры с его кодом, если приведенный выше код будет работать, тогда это будет работать, так как я уже тестировался с параметрами – senthilnathang

+1

Я думаю, что вы вводите в заблуждение параметры запроса (после '?') С параметрами динамического пути бутылки , Вы просто преобразуете параметры запроса OP в сопоставленные с образцом части маршрута, который (а) нечетный, и (б) не то, что запросил ОП. –

2

Он не будет масштабироваться до бесконечных маршрутов, но что-то, как это будет работать.

@route('/forum/<first>') 
def test(first): 
    return first 

@route('/forum/<first>/<second>') 
def test(first, second): 
    return first, second 

@route('/forum/<first>/<second>/<third>') 
def test(first, second, third): 
    return first, second, third 

@route('/forum/<first>/<second>/<third>/<fourth>') 
def test(first, second, third, fourth): 
    return first, second, third, fourth 
+0

Не совсем то, о чем он просит. Здесь он запрашивает параметры GET на одной конечной точке. – Juxhin

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

  • Нет связанных вопросов^_^