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
- Copy the
hs_django_admindirectory to your Django project - Add
'hs_django_admin'to yourINSTALLED_APPSinsettings.py - Update your main
urls.pyto use the custom admin site
Option 2: Use as a reusable app
- Add
'hs_django_admin'to yourINSTALLED_APPSinsettings.py - 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
TestModelfor 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
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
786e4e8ea5a96b5800aa4219c26880dafdea6ce8b75ab5c0dd92de77c4a3a2bc
|
|
| MD5 |
6bf85b420dd2cbac32a0e7ea0f2893a1
|
|
| BLAKE2b-256 |
82ba3e5c724cd4bbd2983a64117efa68ef0f8a9b398bedaad00a55cfdcc4ce02
|
File details
Details for the file hs_django_admin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hs_django_admin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 46.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c493b3244c66d5924017a08cd80d43b1845b36e7a9e9be5a9c3273b63672e336
|
|
| MD5 |
db91d56158240ac5adda0f25165807cc
|
|
| BLAKE2b-256 |
3e9dcbc87193921bf87d25b7bf47ba70cd4b5ec6a38f76789d7893a73a14d24b
|