Django editlive

Live object editing for django

Simple and intuitive inline object editing for django

Why

Django-editlive came from a pragmatical need. Forms are great, but their workflow aren't always practical in the context of a web application.

With django-editlive users can edit model fields with minimum efforts without reloading the page.

This project is largely inspired by the django-inplaceeditform project, but has some fundamental differences in term of implementation.


How

  1. {%load editlive_tags%}
  2. {%editlive "object.date_test" as field%}
  3. <div>
  4. <label>Date:</label>
  5. {{field}}
  6. </div>

Benefits

Performance is certainly not a benefit, at least on the server side.

But for user it makes the editing a lot faster and concurrency safe.

When submiting a standard form, every fields gets written back to the database, even if they haven't changed. This can lead to concurrency problem and data loss if two users edit and save the same form at the same time.

Django-editlive saves only the edited field, reducing considerably the chances of concurrent saves conflicts.


Limitations

This concept is only good for editing, standard forms should be used to create new objects.

This project is not mature yet, which means it is not optimized for performances and still lack some basic feature.

It is not currently possible to instanciate two editlive for the same object field.

If you wish to report an issue or submit a feature request, please use the project's github issue tracker.

Roadmap

Aside from bug fixing and better documentation, the long term objectives and ideas are the following:

  • More widgets
  • JavaScript input format restriction
  • Live create forms
  • Event based sync using persistant connection

About

This free open source project was created and is maintained Maxime Haineault, web developer and co-founder of Motion Média.

It is licensed under BSD license.

Fork me on GitHub