Tip: Reuse Django view in urlconf
django pythonThe Pro Django introduces a convenient way to reuse the way: fill an optional dictionary object to feed extra information.
We may extend this trick a little bit further. Book model has two unique
fields, isbn and ean. They are essential the same except the queried field.
We can reuse the view by categorizing the request by the length:
urlpatterns = patterns('',
(r'^books/(?P[\d\w]{10})$', views.detail) , # ISBN
(r'^books/(?P[\d\w]{13})$', views.detail), # EAN
)
Then in detail, using the magic kwargs to bring the information in:
def detail(request, **kwargs):
book_qs = Book.objects.filter(**kwargs)