Skip to main content

A short description for your project.

Project description

Django’s class based generic views are a great way to reuse code and avoid boilerplate. In Django, however, each view is associated with a single URL. If you want to reuse some behavior that involves multiple urls it is often necessary to synchronize many different views. Think about a CRUD interface: it is not necessarily hard, but it can be both tedious and error prone.

View packs gather a collection of views and url entry points together in a single reusable unity. Hence, instead of creating separate CreateView, DetailView, UpdateView, DeleteView, etc, we can simply subclass the CRUDViewPack view pack:

from viewpack import CRUDViewPack
from fooapp.models import FooModel


class FooCRUD(CRUDViewPack):
    model = FooModel

In your urls.py, register all CRUD views as an include:

from django.conf import url
from views import FooCRUD


urlpatterns = [
    ...,
    url(r'^foo/', FooCRUD.as_include(namespace='foo')),
]

Now you have registered a simple CRUD interface for your FooModel. The next step is to write the required templates and you’re done! (In fact, if you are lazy and use Jinja, we even offer a few ready to use templates!)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-viewpack-0.1.0.tar.gz (6.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page