Extendable, adaptable rewrite of django.contrib.admin
Find a file
Chris Lawlor 3d2b347063 Adds model name to AdminModel2Mixin template context.
All views subclassing AdminModel2Mixin will need the model
name in their template context, so moving it to the base
class so child views don't all have to override
get_context_data.
2013-05-20 10:34:35 -04:00
djadmin2 Adds model name to AdminModel2Mixin template context. 2013-05-20 10:34:35 -04:00
docs Changing design notification to warning. I don't want to kill contributor enthusiasm 2013-05-20 10:55:29 +02:00
example Merge pull request #97 from RaphaelKimmig/rename-modeladmin-model_admin 2013-05-19 07:30:40 -07: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 Prep for version 0.2.0 2013-05-19 17:23:58 +02: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 Added django-coverage as test runner 2013-05-19 12:12:01 +02:00
runtests.py runtests.py can now be executed directly 2013-05-18 17:10:17 +02:00
setup.py Fixing setup.py if django is not installed. 2013-05-18 16:50:02 +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.