これはAmirのソリューションと非常によく似ていますが、リストも処理します。
from django.core.urlresolvers import reverse
from django.http import QueryDict
def build_url(*args, **kwargs):
params = kwargs.pop('params', {})
url = reverse(*args, **kwargs)
if not params: return url
qdict = QueryDict('', mutable=True)
for k, v in params.iteritems():
if type(v) is list: qdict.setlist(k, v)
else: qdict[k] = v
return url + '?' + qdict.urlencode()
使用例:この上の遅れ補正のための
>>> build_url('member-list', params={'format': 'html', 'sex': ['male', 'female']})
u'/members/?format=html&sex=male&sex=female'
([その答え]を見てみましょうhttp://stackoverflow.com/a/5341769/301373)、この種のことを行うにはやや良い方法です。 – sberder
私は機能リクエストを作成しました:https://code.djangoproject.com/ticket/25582 – guettli