diff options
Diffstat (limited to 'django/views')
| -rw-r--r-- | django/views/debug.py | 2 | ||||
| -rw-r--r-- | django/views/generic/simple.py | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/django/views/debug.py b/django/views/debug.py index a7f44d17b3..77b6c2fac2 100644 --- a/django/views/debug.py +++ b/django/views/debug.py @@ -75,7 +75,7 @@ def technical_500_response(request, exc_type, exc_value, tb): loader_debug_info = [] for loader in template_source_loaders: try: - source_list_func = getattr(__import__(loader.__module__, '', '', ['get_template_sources']), 'get_template_sources') + source_list_func = getattr(__import__(loader.__module__, {}, {}, ['get_template_sources']), 'get_template_sources') # NOTE: This assumes exc_value is the name of the template that # the loader attempted to load. template_list = [{'name': t, 'exists': os.path.exists(t)} \ diff --git a/django/views/generic/simple.py b/django/views/generic/simple.py index 4571ef8605..355bd25ef8 100644 --- a/django/views/generic/simple.py +++ b/django/views/generic/simple.py @@ -2,12 +2,18 @@ from django.shortcuts import render_to_response from django.template import RequestContext from django.http import HttpResponse, HttpResponsePermanentRedirect, HttpResponseGone -def direct_to_template(request, template, **kwargs): +def direct_to_template(request, template, extra_context={}, **kwargs): """ Render a given template with any extra URL parameters in the context as ``{{ params }}``. """ - return render_to_response(template, {'params' : kwargs}, context_instance=RequestContext(request)) + dictionary = {'params': kwargs} + for key, value in extra_context.items(): + if callable(value): + dictionary[key] = value() + else: + dictionary[key] = value + return render_to_response(template, dictionary, context_instance=RequestContext(request)) def redirect_to(request, url, **kwargs): """ @@ -18,7 +24,7 @@ def redirect_to(request, url, **kwargs): ``/foo/<id>/`` to ``/bar/<id>/``, you could use the following URLconf:: urlpatterns = patterns('', - ('^foo/(?p<id>\d+)/$', 'django.views.generic.simple.redirect_to', {'url' : '/bar/%(id)s/'}), + ('^foo/(?P<id>\d+)/$', 'django.views.generic.simple.redirect_to', {'url' : '/bar/%(id)s/'}), ) If the given url is ``None``, a HttpResponseGone (410) will be issued. |
