Skip to main content

A customizable Django admin interface with enhanced styling and system information display

Project description

Himosoft Django Admin

A customizable Django admin interface with enhanced styling and system information display.

Features

  • Custom admin site
  • System information display (OS, Python version, Django version, database engine)
  • SSL status indicator
  • Custom CSS styling
  • Responsive design
  • NEW: Full compatibility with default Django admin.site.register()

Installation

Option 1: Copy the app to your project

  1. Copy the hs_django_admin directory to your Django project
  2. Add 'hs_django_admin' to your INSTALLED_APPS in settings.py
  3. Update your main urls.py to use the custom admin site

Option 2: Use as a reusable app

  1. Add 'hs_django_admin' to your INSTALLED_APPS in settings.py
  2. Import and use the custom admin site in your urls.py

Usage

Basic Integration

In your main urls.py:

from django.urls import path
from hs_django_admin.admin import hs_admin

urlpatterns = [
    path('admin/', hs_admin.urls),
    # ... your other URL patterns
]

Model Registration (Multiple Options)

Option 1: Use default Django admin.site.register() (Recommended)

# your_app/admin.py
from django.contrib import admin
from .models import Product

# This automatically works with the custom admin site!
admin.site.register(Product)

Option 2: Use the custom admin site directly

from hs_django_admin.admin import get_admin_site
from your_app.models import YourModel

admin_site = get_admin_site()
admin_site.register(YourModel)

Option 3: Import the admin site instance directly

from hs_django_admin.admin import hs_admin
from your_app.models import YourModel

hs_admin.register(YourModel)

Option 4: Create your own admin site instance

from hs_django_admin.admin import HSDjangoAdmin
from your_app.models import YourModel

custom_admin = HSDjangoAdmin(name='my_custom_admin')
custom_admin.site_header = "My Custom Admin"
custom_admin.site_title = "My Custom Admin Portal"
custom_admin.register(YourModel)

Advanced ModelAdmin Usage

Using the Mixin

from django.contrib import admin
from hs_django_admin.admin import HSDjangoAdminMixin
from .models import Product

class ProductAdmin(HSDjangoAdminMixin, admin.ModelAdmin):
    list_display = ['name', 'price']
    search_fields = ['name']

admin.site.register(Product, ProductAdmin)

Custom Admin Classes

from hs_django_admin.admin import get_admin_site
from django.contrib import admin
from .models import Product

class ProductAdmin(admin.ModelAdmin):
    list_display = ['name', 'price']
    search_fields = ['name']

admin_site = get_admin_site()
admin_site.register(Product, ProductAdmin)

Manual Compatibility Control

If you need to control when compatibility is enabled:

from hs_django_admin.admin import enable_default_admin_compatibility, disable_default_admin_compatibility

# Enable compatibility
original_register = enable_default_admin_compatibility()

# Your admin registrations here
from django.contrib import admin
from .models import Product
admin.site.register(Product)

# Disable compatibility (optional)
disable_default_admin_compatibility(original_register)

Configuration

The app automatically provides:

  • System information in the admin context
  • Custom styling via static files
  • Enhanced admin templates
  • Automatic compatibility with default admin.site.register()

No additional configuration is required for basic functionality.

Your own branding

  • In in your django settings.py
        # Django Admin Settings
        ADMIN_SITE_HEADER = "Your Own Admin"
        ADMIN_SITE_TITLE = "Your Own Admin"
        ADMIN_INDEX_TITLE = "Welcome to Your Own Admin"
        ADMIN_LOGO_URL = "https://example.com/logo.png" # this will also work as admin shortcut icon
        ADMIN_FOOTER_ENABLED = False # this is a footer of himosoft info. You can disable it ❤️
    

Dependencies

  • Django 5.2+ (tested with Django 5.2.3)
  • No additional Python packages required

Notes

  • The app includes a TestModel for demonstration purposes
  • Custom admin templates override the default Django admin templates
  • Static files are automatically collected when running python manage.py collectstatic
  • Default admin compatibility is automatically enabled when the app loads
  • All existing admin.site.register() calls will work without modification

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

hs_django_admin-0.1.0.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hs_django_admin-0.1.0-py3-none-any.whl (46.1 kB view details)

Uploaded Python 3

File details

Details for the file hs_django_admin-0.1.0.tar.gz.

File metadata

  • Download URL: hs_django_admin-0.1.0.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for hs_django_admin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 786e4e8ea5a96b5800aa4219c26880dafdea6ce8b75ab5c0dd92de77c4a3a2bc
MD5 6bf85b420dd2cbac32a0e7ea0f2893a1
BLAKE2b-256 82ba3e5c724cd4bbd2983a64117efa68ef0f8a9b398bedaad00a55cfdcc4ce02

See more details on using hashes here.

File details

Details for the file hs_django_admin-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hs_django_admin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c493b3244c66d5924017a08cd80d43b1845b36e7a9e9be5a9c3273b63672e336
MD5 db91d56158240ac5adda0f25165807cc
BLAKE2b-256 3e9dcbc87193921bf87d25b7bf47ba70cd4b5ec6a38f76789d7893a73a14d24b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page