How do i pass GET parameters using django urlresolvers reverse

前端 未结 4 2065
情深已故
情深已故 2020-12-13 05:30

I am using django 1.2 and going from one view to another using the urlresolvers reverse method.

url = reverse(viewOne)

and I want to pass a

4条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-13 06:15

    A safer and more flexible way:

    import urllib
    from django.urls import reverse
    
    
    def build_url(*args, **kwargs):
        get = kwargs.pop('get', {})
        url = reverse(*args, **kwargs)
        if get:
            url += '?' + urllib.urlencode(get)
        return url
    

    then you can use build_url:

    url = build_url('view-name', get={'name': 'joe'})
    

    which takes same arguments as reverse, but provides an extra keyword argument get where you can put your GET parameters in it as a dictionary.

提交回复
热议问题