Ticket #9658: resolve_docs.2.diff

File resolve_docs.2.diff, 1.6 KB (added by mrts, 7 years ago)

Minor correction in example: add request to kwargs

  • docs/topics/http/urls.txt

    633633    be imported correctly. Do not include lines that reference views you
    634634    haven't written yet, because those views will not be importable.
     639The :func:`django.core.urlresolvers.resolve` function can be used for resolving
     640URL paths to the corresponding view functions. It has the following signature:
     642.. currentmodule:: django.core.urlresolvers
     643.. function:: resolve(path, urlconf=None)
     645``path`` is the URL path you want to resolve. As with ``reverse()`` above, you
     646don't need to worry about the ``urlconf`` parameter. The function returns the
     647triple (view function, arguments, keyword arguments).
     649For example, it can be used for testing if a view would raise a ``Http404``
     650error before redirecting to it::
     652    from urlparse import urlparse
     653    from django.core.urlresolvers import resolve
     654    from django.http import HttpResponseRedirect, Http404
     656    def myview(request):
     657        next = request.META.get('HTTP_REFERER', None) or '/'
     658        response = HttpResponseRedirect(next)
     660        # modify the request and response as required, e.g. change locale
     661        # and set corresponding locale cookie
     663        view, args, kwargs = resolve(urlparse(next)[2])
     664        kwargs['request'] = request
     665        try:
     666            view(*args, **kwargs)
     667        except Http404:
     668            return HttpResponseRedirect('/')
     669        return response
Back to Top