Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython

softwarefabrica.django.crud is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
 
Links
License
GNU GPL v2

System Message: ERROR/3 (<string>, line 7)

Content block expected for the "admonition" directive; none found.

.. admonition:: About this document

This document provides an overview of what Softwarefabrica Django CRUD is.

System Message: WARNING/2 (<string>, line 12)

Explicit markup ends without a blank line; unexpected unindent.
depth:3

See also the documentation index.

What is this?

This library provides flexible and advanced CRUD generic views for applications developed with the Django web framework.

By default the generic views make use of the advanced form classes made available through softwarefabrica.django.forms, thus automatically using the optional template-based form rendering, the advanced widgets for date, time, foreign-key and many-to-many fields, etc. However it's easy to switch back to Django default forms and widgets if desired.

Generic views are a backward-compatible drop-in replacement for those offered by Django, it's just a matter of importing them from softwarefabrica.django.crud.crud instead of from django.views.generic.

In addition, a more flexible set of Object Oriented views is available. Just subclass them as you like, instantiate them and put the instances inside your URLconf, as if they were regular function views. In the majority of cases you won't even need to subclass them, since you can go a long way just by passing the proper parameters to the constructor.

In fact, Object oriented views are so powerful and flexible that plain functional views are actually instances. They are implemented by the library in this way:

System Message: WARNING/2 (<string>, line 47)

Literal block expected; none found.

create_object = CreateObjectView() update_object = UpdateObjectView() delete_object = DeleteObjectView() object_detail = DetailObjectView() object_list = ListObjectView()

Feedback

Your help and feedback is precious. Suggestions and contributions are very much appreciated. See below on how you can contribute.

If you want to actively collaborate and provide code, documentation, tests or bug fixes, please feel free to create a new Bazaar branch in Launchpad, and tell us about it! See the collaboration section for more information.

And don't forget to check also our other Django applications, softwarefabrica.django.utils, softwarefabrica.django.forms, and softwarefabrica.django.wiki.

How can I contribute?

As said, your help is precious. We'll warmly appreciate any help you'll want to give. Just using this library is a reward for us, but if you want to become more actively involved, you are welcome!

The project has a development home page at LaunchPad:

https://launchpad.net/sf-django-crud

There you can file bugs, suggest enhancements, follow development or ask to become an active team member.

You can checkout the development branch using Bazaar:

System Message: WARNING/2 (<string>, line 108)

Literal block expected; none found.

bzr branch lp:sf-django-crud

We'll appreciate very much if you'll want to contribute back any changes. Just register your branch with LaunchPad and tell us!

Source code can also be browsed online.

Contacts

It's possible to contact the author by e-mail at the following addresses:

m.pantaleoni at softwarefabrica.org

panta at elasticworld.org

marco.pantaleoni at gmail.com

LICENSE

This software is covered by the GNU General Public License version 2. If you want to use this software in a closed source application, you need to buy a commercial license from the author.

This open source version is:

Copyright (C) 2007-2008 Marco Pantaleoni. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

CHANGES

2009-11-24 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: fixed bug in GenericView.get_form_kwargs().

2009-11-11 Marco Pantaleoni <panta@elasticworld.org>

  • [BIG CHANGE]: view call state is now encapsulated in a ViewCall

System Message: WARNING/2 (<string>, line 172)

Bullet list ends without a blank line; unexpected unindent.

instance. This should make all views perfectly thread-safe (and cleaner).

2009-10-21 Marco Pantaleoni <panta@elasticworld.org>

  • integrated sflib.finddata.find_package_data() in setup.py

2009-10-07 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: added request, request full path, absolute URI, GET, POST

System Message: WARNING/2 (<string>, line 182)

Bullet list ends without a blank line; unexpected unindent.

and query string to default context for generic views.

2009-04-14 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: added a compiled template caching mechanism to OO views.

2009-03-27 panta <panta@localhost>

  • crud.py: added a reasonable post_delete_redirect support to

System Message: WARNING/2 (<string>, line 191)

Bullet list ends without a blank line; unexpected unindent.

DeleteObjectView.

2009-03-16 panta <panta@localhost>

  • crud.py: added basic auth/perm checking to crud OO views.

2009-02-21 panta <panta@localhost>

  • crud.py: fixed a bug in POPUP_VARIABLE (_popup) handling.

2009-01-25 panta <panta@localhost>

  • crud.py: renamed append_to_context to populate_context.

2009-01-21 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: added class/instance defaults for view parameters.

2009-01-20 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: added pre_call() method.

2009-01-18 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: made <app_label>/<model_name>_edit.html and its variations

System Message: WARNING/2 (<string>, line 216)

Bullet list ends without a blank line; unexpected unindent.

the default template name for create/update generic views. The old _form.html versions are still used, but as a last resort.

  • crud.py: added support for softwarefabrica.django.common generic

System Message: WARNING/2 (<string>, line 220)

Bullet list ends without a blank line; unexpected unindent.

templates to generic views.

2009-01-15 Marco Pantaleoni <panta@elasticworld.org>

  • version.py: modernized.
  • crud.py (GenericView): added instance_save_args() to let

System Message: WARNING/2 (<string>, line 227)

Bullet list ends without a blank line; unexpected unindent.

customization of the instance save() arguments in derived views.

  • crud.py (GenericView): added pre_ and post_ methods to save_instance(),

System Message: WARNING/2 (<string>, line 230)

Bullet list ends without a blank line; unexpected unindent.

delete_instance(). Added request parameter to save_form(), save_instance() and delete_instance().

2008-12-25 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py (View.append_to_context): fixed return address bug.

2008-12-19 Marco Pantaleoni <panta@elasticworld.org>

  • added extensive documentation.

2008-12-01 Marco Pantaleoni <panta@elasticworld.org>

  • bug fixes.

2008-11-28 Marco Pantaleoni <panta@elasticworld.org>

  • softwarefabrica/django/crud/crud.py: integrated ForeignKey and

System Message: WARNING/2 (<string>, line 248)

Bullet list ends without a blank line; unexpected unindent.

ManyToManyField popup handling.

  • Turned into a standalone setuptools distribution

System Message: WARNING/2 (<string>, line 251)

Bullet list ends without a blank line; unexpected unindent.

('softwarefabrica.django.crud').

2008-10-29 Marco Pantaleoni <panta@elasticworld.org>

  • crud.py: added - Object-Oriented generic views and respective

System Message: WARNING/2 (<string>, line 256)

Bullet list ends without a blank line; unexpected unindent.

functional support adapters. Also present classes that add 'fieldorder' support to ModelForms and templated forms.

Docutils System Messages

System Message: ERROR/3 (<string>, line 229); backlink

Unknown target name: "pre".

System Message: ERROR/3 (<string>, line 229); backlink

Unknown target name: "post".

Subscribe to package updates

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.