Prototyping Interfaces with Django (CBV version)
Dave Bertrand over on the Imaginary Landscape blog had a nice tip on a convenient way to do UI prototyping with Django templates. I like this approach since, as Dave points out, you can take full advantage of the Django template language (template tags, control structures etc) and it means when you're done prototyping you are left with usable Django templates rather than plain HTML files.
Dave's post uses
django.views.generic.simple.direct_to_template which has
been deprecated in Django 1.5. It's easy enough to modify his solution to use
a TemplateView instead of the
direct_to_template generic view. Just create
a little MockUp class in your urls.py file like the following:
from django.conf.urls import patterns, include, url from django.views.generic import TemplateView class MockUp(TemplateView): def get_context_data(self,**kwargs): self.template_name = self.kwargs["template_name"] return super(MockUp,self).get_context_data(**kwargs) urlpatterns = patterns('', url(r'^(?P<template_name>.*)$', MockUp.as_view()), )
You can now run the dev server and visit 127.0.0.1/foo.html and have your django template foo.html rendered.
It's not quite as slick as the
direct_to_template version but it does give
you the opportunity to stick a couple other things in the template context if