Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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


Release history Release notifications

This version
History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-viewpack-0.1.4.tar.gz (20.9 kB) Copy SHA256 hash SHA256 Source None May 5, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page