An introspective interface for Django's ORM.
Project description
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
Django 1.5+
Python 2.7+ or Python 3.3+
Sphinx (for documentation)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.