Guest User

Untitled

a guest
May 21st, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. template_values = {}
  2. template_values["foo"] = "bar"
  3. return render_to_response(path, template_values, context_instance=RequestContext(request)
  4.  
  5. template_values = RequestContext(request)
  6. template_values["foo"] = "bar"
  7. return render_to_response(path, template_values)
  8.  
  9. from django.template import RequestContext
  10. def render_template(request, template, data=None):
  11. "Wrapper around render_to_response that fills in context_instance for you."
  12. response = render_to_response(template, data,
  13. context_instance=RequestContext(request))
  14. return response
  15.  
  16. def boilerplate_render(template):
  17. "Factory function for creating simple views that only forward to a template"
  18. def view(request, **kwargs):
  19. response = render_template(request, template, kwargs)
  20. return response
  21. return view
  22.  
  23. def my_view(request):
  24. # Do stuff here...
  25. return render_template(request, 'my_template.html', {'var1': 'value', etc..})
  26.  
  27. my_view2 = boilerplate_render('my_template2.html') # Takes no context parameters
  28.  
  29. from django.views.generic.simple import direct_to_template
  30.  
  31. def my_view(request):
  32. # Do stuff here...
  33. return direct_to_template(request, 'my_template.html', {'var1': 'value', etc..})
  34.  
  35. django.shortcuts.render_to_response
  36. django.template.loader.render_to_string
  37. django.views.generic.simple.direct_to_template
  38.  
  39. def render(*request_and_template_and_params, **kwargs):
  40. """Shortcut for rendering a template with RequestContext
  41.  
  42. Takes two or three positional arguments: request, template_name, and
  43. optionally a mapping of template parameters. All keyword arguments,
  44. with the excepiton of 'mimetype' are added to the request context.
  45.  
  46. Returns a HttpResponse object.
  47. """
  48. if len(request_and_template_and_params) == 2:
  49. request, template_name = request_and_template_and_params
  50. params = kwargs
  51. else:
  52. request, template_name, params = request_and_template_and_params
  53. params = dict(params) # copy because we mutate it
  54. params.update(kwargs)
  55. httpresponse_kwargs = {'mimetype': params.pop('mimetype', None)}
  56. context = RequestContext(request, params)
  57. return HttpResponse(loader.render_to_string(
  58. template_name, context_instance=context), **httpresponse_kwargs)
  59.  
  60. def render_to(template_name):
  61. def renderer(func):
  62. def wrapper(request, *args, **kw):
  63. output = func(request, *args, **kw)
  64. if not isinstance(output, dict):
  65. return output
  66. return render_to_response(template_name, output,
  67. context_instance=RequestContext(request))
  68. return wrapper
  69. return renderer
  70.  
  71. @render_to('my_template.html')
  72. def my_view(request):
  73. # View code here...
  74. return some_dict
Add Comment
Please, Sign In to add comment