Skip to content

blanchardjeremy/django-client-admin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Client Admin for Django

Client Admin enhances Django Admin. Much of the code started as Admin Tools. The Admin Tools theming engine has been removed, and many features have been

What does it give you by default?

  • Provides a new style for the Django Admin interface.

  • Provides a dashboard with draggable widgets

  • Creates a menu persistent on all admin pages

  • Provides a system of admin bookmarks that allow users to quickly star favorite pages and have them available from the menu

Additional features:

  • Creates a sitemap module for the dashboard.

  • Provides an improved generic-foreignkey widget.

  • Allows admin templates to extend Jinja2 templates. Assuming certain blocks are present in your template, this means the admin interface could inherit a header and footer from the front-end templates.

How to install?

Client Admin

pip install git+https://github.com/concentricsky/django-client-admin.git#egg=client_admin

Include Client Admin in your settings.py. It should be listed before the django.contrib.admin module so that client_admin can override the default Django admin templates.

INSTALLED_APPS = [   
    'client_admin',

    ...

]

Include Client Admin urls in your urls.py at the same path as normal contrib.admin

urlpatterns = patterns('',

    ...

    url(r'^admin/', include('client_admin.urls')),
    url(r'^admin/', include('admin.site.urls')),

    ...

)

To access media files, you should use the staticfiles contrib application in Django 1.3. For Django 1.2 or lower you’ll have to install django-staticfiles from PyPi.

Customizations

  • Override the page logo

  • Override the large logo on the login screen

Dashboard widgets

Sitemap

By default, Client Admin will look for a menu from Sky CMS with an id of 1.

Recent Activity

The Recent Activity module lists all activity registered to the

Quick Links

Best Practices

  • Create a 'staff' user that belongs to a 'staff' group with limited permissions.

    • The staff group should have access to:

      • Editing and creating all site-specific structured content

      • Deleting any structured content that is used as an inline

    • The staff group should not have access to:

      • Deleting any structured content that would cascade delete. Instead, have them use the 'is_active' flag to remove content from the front end.

      • Administration apps like Auth and Sites

What's in the works?

Client Admin wants to:

  • Create a Jinja2 helper that would print the admin menu bar on front-end templates. This would most likely be inserted dynamically and position absolutely to maintain the existing front-end structure.

  • Create Jinja2 helpers that insert links to corresponding admin pages for content. Again, these would most likely be inserted dynamically and position absolutely to maintain the existing front-end structure.

  • Provide a modal interface to edit WYSIWYG fields (currently CKEditor) directly from the front end.

  • Support including foreign keys and manytomany relationships as inlines on a change form. This would mean the original field would be excluded in the main form, and the inverse inlines would be saved first, with their resulting PKs saved as the value for the corresponding relationship on the main form.

  • Support for nested inlines, either with a more complicated form element prefix system, or with AJAX submissions of inline forms.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 53.2%
  • JavaScript 46.8%