django-extra-views 0.6.4

Extra class-based views for Django
Django's class-based generic views are great, they let you accomplish a large number of web application design patterns in relatively few lines of code. They do have their limits though, and that's what django-extra-views aims to overcome.

Installation

Installing from pypi (using pip).

pip install django-extra-views

Installing from github.

pip install -e git://github.com/AndrewIngram/django-extra-views.git#egg=django-extra-views

Features so far

- FormSet and ModelFormSet views - The formset equivalents of FormView and ModelFormView.
- InlineFormSetView - Lets you edit formsets related to a model (uses inlineformset_factory)
- CreateWithInlinesView and UpdateWithInlinesView - Lets you edit a model and its relations
- GenericInlineFormSetView, the equivalent of InlineFormSetView but for GenericForeignKeys
- Support for generic inlines in CreateWithInlinesView and UpdateWithInlinesView

Examples

Defining a FormSetView.

from extra_views import FormSetView

class AddressFormSet(FormSetView):
 form_class = AddressForm
 template_name = 'address_formset.html'


Defining a ModelFormSetView.

from extra_views import ModelFormSetView:

class ItemFormSetView(ModelFormSetView):
 model = Item
 template_name = 'item_formset.html'


Defining a CreateWithInlinesView and an UpdateWithInlinesView.

from extra_views import CreateWithInlinesView, UpdateWithInlinesView, InlineFormSet
from extra_views.generic import GenericInlineFormSet

class ItemInline(InlineFormSet):
 model = Item

class TagInline(GenericInlineFormSet):
 model = Tag

class CreateOrderView(CreateWithInlinesView):
 model = Order
 inlines = [ItemInline, TagInline]

class UpdateOrderView(UpdateWithInlinesView):
 model = Order
 inlines = [ItemInline, TagInline]

# Example URLs.
urlpatterns = patterns('',
 url(r'^orders/new/$', CreateOrderView.as_view()),
 url(r'^orders/(?P\d+)/$', UpdateOrderView.as_view()),
)


More descriptive examples to come.

last updated on:
July 20th, 2012, 23:03 GMT
price:
FREE!
developed by:
Andrew Ingram
homepage:
github.com
license type:
MIT/X Consortium License 
category:
ROOT \ Internet \ Django Plugins

FREE!

In a hurry? Add it to your Download Basket!

user rating

UNRATED
0.0/5
 

0/5

Add your review!

SUBMIT