Skip to main content

Advanced CRUD generic views library for SoftwareFabrica django projects

Project description

.. _topics-overview:

===========================
Softwarefabrica Django CRUD
===========================

.. admonition:: About this document

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

.. contents::
:depth: 3

See also the `documentation index`_.

.. _`documentation index`: index.html

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:

::

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

.. _`Django`: http://www.djangoproject.com
.. _`softwarefabrica.django.utils`: http://pypi.python.org/pypi/softwarefabrica.django.utils
.. _`softwarefabrica.django.forms`: http://pypi.python.org/pypi/softwarefabrica.django.forms
.. _`softwarefabrica.django.crud`: http://pypi.python.org/pypi/softwarefabrica.django.crud
.. _`softwarefabrica.django.wiki`: http://pypi.python.org/pypi/softwarefabrica.django.wiki
.. _`sflib`: http://pypi.python.org/pypi/sflib

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`_.

.. _`Django`: http://www.djangoproject.com
.. _`softwarefabrica.django.utils`: http://pypi.python.org/pypi/softwarefabrica.django.utils
.. _`softwarefabrica.django.forms`: http://pypi.python.org/pypi/softwarefabrica.django.forms
.. _`softwarefabrica.django.crud`: http://pypi.python.org/pypi/softwarefabrica.django.crud
.. _`softwarefabrica.django.wiki`: http://pypi.python.org/pypi/softwarefabrica.django.wiki
.. _`sflib`: http://pypi.python.org/pypi/sflib

Pre-requisites and installation
===============================

See the `installation guide document`_.

.. _`installation guide document`: install.html

.. _collaboration:

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`_:

::

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`_.

.. _`development home page`: https://launchpad.net/sf-django-crud
.. _`LaunchPad`: http://launchpad.net
.. _`Bazaar`: http://bazaar-vcs.org/
.. _`online`: http://bazaar.launchpad.net/~softwarefabrica/sf-django-crud/trunk/changes
.. _`Softwarefabrica`: https://edge.launchpad.net/softwarefabrica
.. _`team`: https://launchpad.net/~softwarefabrica
.. _`bugs`: https://bugs.launchpad.net/sf-django-crud
.. _`enhancements`: https://bugs.launchpad.net/sf-django-crud


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-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
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
templates to generic views.

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

* version.py: modernized.

* crud.py (GenericView): added ``instance_save_args()`` to let
customization of the instance save() arguments in derived views.

* crud.py (GenericView): added pre_ and post_ methods to save_instance(),
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
ManyToManyField popup handling.

* Turned into a standalone setuptools distribution
('softwarefabrica.django.crud').

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

* crud.py: added - Object-Oriented generic views and respective
functional support adapters. Also present classes that add
'fieldorder' support to ModelForms and templated forms.

Project details


File details

Details for the file softwarefabrica.django.crud-1.0dev-BZR-r78-panta-elasticworld.org-20090304151556-lciccjm9w2sfzvdw.tar.gz.

File metadata

File hashes

Hashes for softwarefabrica.django.crud-1.0dev-BZR-r78-panta-elasticworld.org-20090304151556-lciccjm9w2sfzvdw.tar.gz
Algorithm Hash digest
SHA256 93518028afbf300af2b2558d6d0a0e54b7dfbc588220afe4fd9465465c29c98d
MD5 d3bc3d53bb10e94350ccfcd3f607f1e3
BLAKE2b-256 7dcb00cfbda4d702713c22df53b082acf58d02b5066a9cf5f9c690e394d3f736

See more details on using hashes here.

File details

Details for the file softwarefabrica.django.crud-1.0dev_BZR_r78_panta_elasticworld.org_20090304151556_lciccjm9w2sfzvdw-py2.6.egg.

File metadata

File hashes

Hashes for softwarefabrica.django.crud-1.0dev_BZR_r78_panta_elasticworld.org_20090304151556_lciccjm9w2sfzvdw-py2.6.egg
Algorithm Hash digest
SHA256 2d0ce6fbf75dcd06ec26d46da4d8bcd973c966e3104197e9f18bfea5b848bbad
MD5 aed56bcadf516c23967b445a7e989626
BLAKE2b-256 a8b23738a5b6ba34b28487d23d864f6dc4266efdd8b7a4468a69f749b9bafdf0

See more details on using hashes here.

File details

Details for the file softwarefabrica.django.crud-1.0dev_BZR_r78_panta_elasticworld.org_20090304151556_lciccjm9w2sfzvdw-py2.5.egg.

File metadata

File hashes

Hashes for softwarefabrica.django.crud-1.0dev_BZR_r78_panta_elasticworld.org_20090304151556_lciccjm9w2sfzvdw-py2.5.egg
Algorithm Hash digest
SHA256 a3d31ed18d615b7e9607e5e5763cec1fab03f4225000ae58c4bbe1ece349a0c6
MD5 30631de76dd4d310109f2e3ef074fcf0
BLAKE2b-256 9286ea1cb46990f7f0e3751a358df76645578ddcfec4e88cede4a51e61cc7d97

See more details on using hashes here.

File details

Details for the file softwarefabrica.django.crud-1.0dev_BZR_r78_panta_elasticworld.org_20090304151556_lciccjm9w2sfzvdw-py2.4.egg.

File metadata

File hashes

Hashes for softwarefabrica.django.crud-1.0dev_BZR_r78_panta_elasticworld.org_20090304151556_lciccjm9w2sfzvdw-py2.4.egg
Algorithm Hash digest
SHA256 ca1e91b2b1f164fc7824c37f1485aba6695670dcb84c50cf59508270caf65f83
MD5 696649b1c7183feff22b7f950f1874bc
BLAKE2b-256 e9f60a40d2b1b487461ce06c6a28679a6342795588464fa081ac2b4d9e173cda

See more details on using hashes here.

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