Skip to main content

Provides a possibility to open objects in django-admin in read-only mode by default, with a special button "Go to edit mode" to open the same change-object page in regular editable mode.

Project description

django-admin-edit-mode

PyPI - Version

Allows to open django admin in read-only mode by default, with a special button "Go to edit mode" to open the same change-object page in regular editable mode.

Why read-only mode by default is needed ? For some applications, django-admin serves mostly for reading the info. Readonly mode page looks better (cleaner), doesn't allow to make some changes accidentially, and the page loads quicker (e.g., no need to load a list of choices for the fields). But you're not going to make admin completely readonly (e.g., by persmissions), because sometimes you still want to change the object. Then you can go to edit mode by clicking the button!

Even more suitable edit mode could be on a list page. For quick multi-object editing you would like to enable changing of some fields on list page with help of list_editable. But it will alsways shows you edit mode on list page, which looks not good (for most times you don't want to change, only look). This libary provides you with buttons "Go Edit Mode" / "Go Readonly Mode". Important note: your editable field should not serve as a link to the object, i.e., should not be in list_display_links or be the first field of list_display (the same restriction applies to regular Django's list_editable).

Installation

  • pip install django-admin-edit-mode
  • Add 'django_admin_edit_mode' to INSTALLED_APPS, before 'django.contrib.admin'. Order matters for template loading!
  • Add 'spurl' to INSTALLED_APPS.
  • Check that 'APP_DIRS' is True in TEMPLATES settings.

Usage

Use the mixins for the model admins you want to have "readonly by default and edit by clicking button" mode:

import django_admin_edit_mode.admin


# Conditional edit mode enabled on edit object page
@admin.register(models.Book)
class BookAdmin(django_admin_edit_mode.admin.EditModeAdminMixin,
                      admin.ModelAdmin):
    ...

# Conditional edit mode enabled on list page
@admin.register(models.Author)
class AuthorAdmin(django_admin_edit_mode.admin.ConditionalListEditableAdminMixin,
                      admin.ModelAdmin):
    ...

    list_display = ('id', 'name', 'description', 'num_books')

    # list_editable = ('list_editable', )  # This you would use for "constant" edit mode
    conditional_list_editable = ('list_editable', ) 

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_admin_edit_mode-0.1.2.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

django_admin_edit_mode-0.1.2-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file django_admin_edit_mode-0.1.2.tar.gz.

File metadata

  • Download URL: django_admin_edit_mode-0.1.2.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.5 Darwin/21.6.0

File hashes

Hashes for django_admin_edit_mode-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f27bb83c08b4544af8667548a03458afeb1f256a4bf5011c2cba22c9ca5008fc
MD5 1365a1b5a1c499ca78222fd01c17ec7f
BLAKE2b-256 446e0f3d9bef118080f2e29a13fe05eaf660e813f3140015204e6ff9cc8a3c22

See more details on using hashes here.

File details

Details for the file django_admin_edit_mode-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_admin_edit_mode-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 71a9050644b5ecc5a1fe2f8d4db4f6778a7a6b597748568f65b0a181494ca36f
MD5 c177e647c63a32e1a1dc31a0154e7778
BLAKE2b-256 a5a52f80888a08c7a1bc4f2860107073f96305dcbe3521fbfbf806ea447f4dce

See more details on using hashes here.

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