An introspective interface for Django's ORM.
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/
- Rewrite of the Django Admin backend
- Drop-in themes
- Built-in RESTful API
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)
The default theme is whatever bootstrap is most current. Specifically:
# In settings.py INSTALLED_APPS += ('djadmin2.themes.djadmin2theme_default',) ADMIN2_THEME_DIRECTORY = "djadmin2theme_default/"
If you create a new theme, you define it thus:
# In settings.py # Mythical theme! This does not exit... YET! INSTALLED_APPS += ('djadmin2theme_foundation',) ADMIN2_THEME_DIRECTORY = "djadmin2theme_foundation/"
Support this project!
You can hire the lead maintainer to perform dedicated work on this package. Please email firstname.lastname@example.org.
- Implemented LogHistory to track recent history
- New system for adding new views to ModelAdmin2 object
- Fixed missing enctype=”multipart/form-data” functionality
- Implemented “app verbose name”
- Apps can have customized names
- List Actions can be set so they don’t require selecting a model
- Implemented ModelAdmin2.ordering
- To maintain API consistency, renamed views.AdminView’s “url” argument to “regex”
- Implemented ModelAdmin2.date_hierarchy
- Changed theming system to make default theme follow the same rules as third-party themes.
- Inlines now separated into stacked and tabular formats
- Code coverage now displaying in README
- User list page now showing all default columns and filters
- Vast documentation improvements
- Converted to django.utils.encoding.force_str instead unicode in order to type edge cases
- setup.py fix
- 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
- 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.
- 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
- 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.
- 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.
- Code adoption from django-mongonaut.
- Preperation for Django Circus sprints.
- Discussion with Russell Keith-Magee.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size django-admin2-0.6.0rc1.tar.gz (104.8 kB)||File type Source||Python version None||Upload date||Hashes View|