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.4.tar.gz (20.9 kB view details)

Uploaded Source

File details

Details for the file django-viewpack-0.1.4.tar.gz.

File metadata

File hashes

Hashes for django-viewpack-0.1.4.tar.gz
Algorithm Hash digest
SHA256 f779eb25910a1c97d9d3cbdf2e7629362574f0489f185feba08c1d1b57db8b40
MD5 a5388dd54ef6dba7767b415a72c52ad9
BLAKE2b-256 e0eba081de727fba4ff320fdc22bdb9f2c338dcb0a52cad9a50ce9663a22d2d4

See more details on using hashes here.

Supported by

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