Extendable, adaptable rewrite of django.contrib.admin
Find a file
Chris Lawlor 396f49665e Fixes message display after action handling.
Calls unicode to force encoding of object name to a localized
unicode string. Also fixes deleted object count by saving
len(queryset) to a local var before calling queryset.delete(), as
the len after queryset.delete() is always zero.
2013-05-23 15:37:50 -04:00
djadmin2 Fixes message display after action handling. 2013-05-23 15:37:50 -04:00
docs Adding to the reference 2013-05-22 17:37:02 +02:00
example Fixes message display after action handling. 2013-05-23 15:37:50 -04:00
.gitignore Ignore and remove .db files from SQLite 2013-05-18 12:34:57 +02:00
.travis.yml Changed how travis install requirements 2013-05-19 12:40:26 +02:00
AUTHORS.rst Adding @chrislawlor to the list of authors. 2013-05-20 20:40:16 +03:00
LICENSE boilerplate 2013-05-14 14:24:31 +02:00
MANIFEST.in Prep for version 0.2.0 2013-05-19 17:23:58 +02:00
README.rst Change README so people get an idea as to what we want 2013-05-20 00:48:38 +02:00
requirements.txt Implementing a modelform_factory that takes care of converting all widgets on the modelform to floppyform widgets if possible. 2013-05-22 19:29:12 +02:00
runtests.py runtests.py can now be executed directly 2013-05-18 17:10:17 +02:00
setup.py merge and adding requirements for floppy-forms 2013-05-23 19:23:23 +02:00

===============
django-admin2
===============

.. image:: https://travis-ci.org/pydanny/django-admin2.png
   :alt: Build Status
   :target: https://travis-ci.org/pydanny/django-admin2

**Warning:** This project is currently in an **alpha** state and currently not meant for real projects.

One of the most useful parts of ``django.contrib.admin`` is the ability to configure various views that touch and alter data. django-admin2 is a complete rewrite of that library using modern Class-Based Views and enjoying a design focused on extendibility and adaptability. By starting over, we can avoid the legacy code and make it easier to write extensions and themes.

Contributing
=============

Yes please! Please read our formal contributing document at: https://django-admin2.readthedocs.org/en/latest/contributing.html

Features (current)
====================

* Easy-to-extend API that follows similar patterns to ``django.contrib.admin``.
* Built-in RESTFUL API powered by ``django-rest-framework``.
* Default theme built on Twitter Bootstrap that is just starting to act like the current Django admin.
* Easy to implement theme system.
* Basic permission controls.

Features (Planned)
====================

* Much improved documentation including tutorials and reference guides.

  * Extending existing views
  * Interacting with the basic Admin2 object.

* Improved permission controls

Requirements
=============

* Django 1.5+
* Python 2.7+ (Python 3.3+ support is pending)
* django-braces
* django-rest-framework
* django-floppyforms
* Sphinx (for documentation)

Basic Pattern
==============

Our goal is to make this API work:

.. code-block:: python

  # Import your custom models
  from .models import Post, Comment
  from django.contrib.auth.forms import UserCreationForm, UserChangeForm
  from django.contrib.auth.models import User

  import djadmin2
  from djadmin2.models import ModelAdmin2


  class UserAdmin2(ModelAdmin2):
      create_form_class = UserCreationForm
      update_form_class = UserChangeForm


  #  Register each model with the admin
  djadmin2.default.register(Post)
  djadmin2.default.register(Comment)
  djadmin2.default.register(User, UserAdmin2)


Themes
========

The default theme is whatever bootstrap is most current. Specifically:

.. code-block:: python

    ADMIN2_THEME_DIRECTORY = "admin2/bootstrap/"

If you create a new theme, please define it thus:

.. code-block:: python

    ADMIN2_THEME_DIRECTORY = "admin2/foundation/"

REST API
==========

We plan to expose a REST API using Django Rest Framework. From this, you can define new themes powered by the client framework of your choice.