Необязательное количество символов подстановки в шаблонах URL в Django - PullRequest
0 голосов
/ 04 января 2012
#views.py
def sum(*args):
    return reduce((lambda x, y: int(x)+int(y)), args)

Можно ли написать один шаблон URL, который будет равномерно обрабатывать такие запросы, как / sum / 1/2 (result = 3), / sum / 1/2/3 (result = 6) и т. Д .?

Ответы [ 2 ]

3 голосов
/ 04 января 2012

Если вы абсолютно не хотите использовать форму "/ 1/2/3", вам лучше использовать строку запроса "/ sum? 1 & 2 & 3" Это будет гораздо проще реализовать.

3 голосов
/ 04 января 2012

Это не совсем то, что вы хотите, но вы можете использовать

(r'^sum/(?P<allargs>[/0-9]+)$', 'views.sum')

, а затем

def sum(request, allargs):
    args = map( int, allargs.split('/') )
    # Compute sum
...