Skip to main content

An introspective interface for Django's ORM.

Project description

Build Status https://pypip.in/v/django-admin2/badge.png https://pypip.in/d/django-admin2/badge.png

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.

Full Documentation at: http://django-admin2.rtfd.org/

Features

  • Rewrite of the Django Admin backend

  • Drop-in themes

  • Built-in RESTful API

Requirements

Installation

Use pip to install from PyPI:

pip install django-admin2

Add djadmin2 and rest_framework to your settings file:

INSTALLED_APPS = (
    ...
    'djadmin2',
    'rest_framework', # for the browsable API templates
    'floppyforms', # For HTML5 form fields
    'crispy_forms', # Required for the default theme's layout
    ...
)

Add djadmin2 urls to your URLconf:

# urls.py
from django.conf.urls import patterns, include

import djadmin2

djadmin2.default.autodiscover()


urlpatterns = patterns(
   ...
   url(r'^admin2/', include(djadmin2.default.urls)),
)

How to write django-admin2 modules

# myapp/admin2.py
# Import your custom models
from django.contrib.auth.forms import UserCreationForm, UserChangeForm
from django.contrib.auth.models import User

from .models import Post, Comment

import djadmin2


class UserAdmin2(djadmin2.ModelAdmin2):
    # Replicates the traditional admin for django.contrib.auth.models.User
    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)

Drop-In Themes

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

# settings.py
ADMIN2_THEME_DIRECTORY = "djadmin2/bootstrap/"

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

# settings.py
ADMIN2_THEME_DIRECTORY = "djadmin2/foundation/"

History

0.5.2 (2013-07-14)

  • setup.py fix

0.5.1 (2013-07-14)

  • No longer pinning dependencies on specific versions

  • Documentation on built-in views shows context variables.

  • Added django-filter to dependency list

  • Problem with related_name resolved

  • Fixed the height of the change_form

  • Example app actually shows added content

  • Pull requests going forward are internationalized

  • FAQ begun

0.5.0 (2013-07-08)

  • Implemented customizable value renderers

  • Implemented list filters using django-filters. Greatly supersedes what Django provides.

  • Implemented ModelAdmin2.save_on_top and ModelAdmin2.save_on_bottom

  • Implemented BooleanField icons for List and Detail views

  • Implemented default django.contrib.auth and django.contrib.sites registrations

  • Implemented the displayed of verbose field/method names in list view

  • Implemented client-side ordering of model list fields in default theme

  • Implemented improved internal naming conventions

  • Improved example project home page

  • Improved internal test coverage

  • Documentation for Context Variables in Themes

  • Corrected early nomenclature decisions

  • Much improved Internationalization

  • Added django-admin2 to Transifex

  • Translations for French, Polish, Slovak, Chinese, German, Catalan, Italian, and Spanish.

0.4.0 (2013-06-30)

  • Implemented both Function- and Class-based Action views

  • Implemented ModelAdmin2.list_display

  • Implemented ModelAdmin2.fieldsets

  • Dropdown widget now displays the selected choice

  • Added support for callables in ModelAdmin2.list_display

  • Added screenshots to README

  • Added second example project

  • Fixed breadcrumbs

  • Default theme: Proper closing of template and media blocks

  • Default theme: Standardized indentation in default theme templates

  • Default theme: Pointed to CDN for JQuery

  • Default theme: Added basic style for login form

  • Default theme: Internationalized all text strings

0.3.0 (2013-05-31)

  • HTML5 forms via floppyforms.

  • Many API improvements.

  • Added Breadcrumbs.

  • Added Login, Logout, ChangePassword views.

  • Added Actions.

  • Added support for inlines.

  • Added view based permission controls

  • Implement delete confirmations for child models.

  • Testrunner now can run on a specific test set or module.

  • Internal code refactoring to follow standards.

  • Moved to git-flow for accepting pull requests.

  • Model create/update pages now have save options.

  • Added i18n to all templates, much of internal code.

  • All print statements replaced with proper logging.

  • Design goals specified in the documentation.

0.2.0 (2013-05-19)

  • Birth! (Working Prototype)

  • 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.

  • Easy to implement theme system.

  • Basic permission controls.

  • Testrunner

  • Documentation

0.1.1 (2013-05-17)

  • Code adoption from django-mongonaut.

  • Preperation for Django Circus sprints.

0.1 (2013-05-13)

  • Discussion with Russell Keith-Magee.

  • Inception.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-admin2-0.5.2.tar.gz (98.0 kB view hashes)

Uploaded Source

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