Django-Admin-Interface เป็น อินเทอร์เฟซผู้ดูแลระบบที่ตอบสนองต่อการตอบสนองที่ทันสมัยซึ่งปรับแต่งได้โดยผู้ดูแลระบบเอง

NEWNEWNEWNEW ไฮไลต์ตัวเลือกที่เลือกdjango-ckeditordjango-dynamic-raw-iddjango-json-widgetdjango-modeltranslationdjango-rangefilterdjango-streamfielddjango-tabbed-adminsorl-thumbnailde , es , fa , fr , it , pl , pt_BR , ru , tr pip install django-admin-interfaceadmin_interface และ colorfield ลงใน settings.INSTALLED_APPS ก่อน django.contrib.admin INSTALLED_APPS = (
#...
"admin_interface" ,
"colorfield" ,
#...
"django.contrib.admin" ,
#...
)
X_FRAME_OPTIONS = "SAMEORIGIN"
SILENCED_SYSTEM_CHECKS = [ "security.W019" ]python manage.py migratepython manage.py collectstatic --clearคำเตือน
หากคุณต้องการใช้ modals แทน windows ป๊อปอัพให้ตรวจสอบการตั้งค่า X_FRAME_OPTIONS = "SAMEORIGIN"
ในการทำให้ชุดฟิลด์เริ่มขยายด้วยปุ่ม Hide เพื่อยุบให้เพิ่มคลาส "expanded" ในชั้นเรียน:
class MyModelAdmin ( admin . ModelAdmin ):
# ...
fieldsets = [
( "Section title" , {
"classes" : ( "collapse" , "expanded" ),
"fields" : (...),
}),
]
# ... แพ็คเกจนี้มีธีมเสริมเป็นอุปกรณ์ติดตั้งสามารถติดตั้งได้โดยใช้คำสั่ง LoadData Admin ชุดรูปแบบเสริมจะเปิดใช้งานในการติดตั้ง
เรียกใช้ python manage.py loaddata admin_interface_theme_django.json
เรียกใช้ python manage.py loaddata admin_interface_theme_bootstrap.json
เรียกใช้ python manage.py loaddata admin_interface_theme_foundation.json
รัน python manage.py loaddata admin_interface_theme_uswds.json
คุณสามารถเพิ่มธีมที่คุณสร้างผ่านผู้ดูแลระบบไปยังที่เก็บนี้โดยส่ง PR ให้เรา นี่คือขั้นตอนที่จะติดตามเพื่อเพิ่ม:
ส่งออกชุดรูปแบบที่แน่นอนของคุณเป็นอุปกรณ์ติดตั้งโดยใช้คำสั่ง dumpdata admin: python manage.py dumpdata admin_interface.Theme --indent 4 -o admin_interface_theme_{{name}}.json --pks=N
คัดลอกไฟล์ JSON ที่สร้างขึ้นลงในโฟลเดอร์ Fixtures (ตรวจสอบให้แน่ใจว่าชื่อเริ่มต้นด้วย admin_interface_theme_ เพื่อหลีกเลี่ยงการปะทะกับการติดตั้งที่อาจจัดทำโดยแอพบุคคลที่สามอื่น ๆ )
ลบ pk ออกจากฟิกซ์เจอร์และตรวจสอบให้แน่ใจว่าฟิลด์ active ถูกตั้งค่าเป็น true (ด้วยวิธีนี้ธีมจะเปิดใช้งานโดยอัตโนมัติเมื่อติดตั้ง)
แก้ไขส่วนด้านบนเพื่อจัดทำเอกสารธีมของคุณ
คุณสามารถเพิ่ม การสนับสนุนธีมไปยังไลบรารีของบุคคลที่สามที่มีอยู่ โดยใช้ ตัวแปร CSS ต่อไปนี้:
--admin-interface-header-background-color--admin-interface-header-text-color--admin-interface-header-link-color--admin-interface-header-link_hover-color--admin-interface-title-color--admin-interface-env-color--admin-interface-logo-color--admin-interface-logo-default-background-image--admin-interface-logo-max-width--admin-interface-logo-max-height--admin-interface-module-background-color--admin-interface-module-background-selected-color--admin-interface-module-border-radius--admin-interface-module-text-color--admin-interface-module-link-color--admin-interface-module-link-selected-color--admin-interface-module-link-hover-color--admin-interface-generic-link-color--admin-interface-generic-link-hover-color--admin-interface-generic-link-active-color--admin-interface-save-button-background-color--admin-interface-save-button-background-hover-color--admin-interface-save-button-text-color--admin-interface-delete-button-background-color--admin-interface-delete-button-background-hover-color--admin-interface-delete-button-text-color--admin-interface-related-modal-background-color--admin-interface-related-modal-background-opacity--admin-interface-related-modal-border-radius--admin-interface-related-modal-close-button-display ในขณะนี้แพ็คเกจนี้ได้รับการแปลเป็นภาษาต่อไปนี้: de , es , fa , fr , it , pl , pt_BR , tr
เรียกใช้ python -m django makemessages --ignore ".tox" --ignore "venv" --add-location "file" --extension "html,py" --locale "it" (ตัวอย่างสำหรับการแปลภาษาอิตาลี)
อัปเดตการแปลใน admin_interface/locale/it/LC_MESSAGES/django.po
เรียกใช้ python -m django compilemessages --ignore ".tox" --ignore "venv"
หากคุณทำการเปลี่ยนแปลงบางอย่างในโครงการอย่าลืมอัปเดตการแปลเพราะหากไฟล์การแปลไม่ทันสมัยขั้นตอน lint ใน CI จะล้มเหลว:
tox -e translations แพ็คเกจนี้ใช้การแคชเพื่อปรับปรุงเวลาโหลดธีมและประสิทธิภาพโดยรวม คุณสามารถปรับแต่งตัวเลือกการแคชแอปโดยใช้ settings.CACHES["admin_interface"] การตั้งค่ามิฉะนั้นจะใช้แคช "default" : จะใช้:
CACHES = {
# ...
"admin_interface" : {
"BACKEND" : "django.core.cache.backends.locmem.LocMemCache" ,
"TIMEOUT" : 60 * 5 ,
},
# ...
}คำเตือน
มีปัญหาความเข้ากันได้ที่รู้จักเมื่อใช้แพ็คเกจนี้กับ django-redis โดยเฉพาะอย่างยิ่งโดยใช้ JSONSerializer ข้อผิดพลาดต่อไปนี้จะเพิ่มขึ้น: TypeError: Object of type Theme is not JSON serializable เพื่อลดปัญหานี้เพียงแค่ใช้แคช json สำหรับแอพนี้
base-site.html ที่กำหนดเองฉันมี
base_site.htmlที่กำหนดเองแล้วฉันจะทำให้มันทำงานได้อย่างไร?
คุณสามารถใช้ django-apptemplates จากนั้นเพิ่ม {% extends "admin_interface:admin/base_site.html" %} ไปยัง base_site.html ของคุณ
LocaleMiddleware ที่กำหนดเองฉันใช้
django.middleware.locale.LocaleMiddlewaresubclass แต่ฉันเห็นคำเตือนที่ไม่จำเป็นสำหรับการหายไปdjango.middleware.locale.LocaleMiddlewareฉันจะทำอย่างไร?
คุณสามารถเพิกเฉยต่อคำเตือน (ได้กล่าวถึงที่นี่)
import warnings
warnings . filterwarnings ( "ignore" , module = "admin_interface.templatetags.admin_interface_tags" )ฉันเปิดใช้งาน ตัวเลือกภาษา แล้ว แต่ไม่สามารถมองเห็นได้ในผู้ดูแลระบบฉันควรทำอย่างไร?
คุณต้องกำหนด settings หลายภาษาและ urls อย่างถูกต้อง:
LANGUAGES = (
( "en" , _ ( "English" )),
( "it" , _ ( "Italiano" )),
( "fr" , _ ( "Français" )),
# more than one language is expected here
)
LANGUAGE_CODE = "en"
USE_I18N = True
MIDDLEWARE = [
# ...
"django.middleware.locale.LocaleMiddleware" ,
# ...
] from django . conf . urls . i18n import i18n_patterns
from django . contrib import admin
from django . urls import include , path
# ...
urlpatterns = [
path ( "i18n/" , include ( "django.conf.urls.i18n" )),
]
urlpatterns += i18n_patterns ( path ( "admin/" , admin . site . urls ))ฉันมีแอปพลิเคชันที่มีการเชื่อมโยงข้ามในผู้ดูแลระบบและฉันต้องการเปิดพวกเขาในหน้าต่างโมดอลแทนหน้าต่างเดียวกัน/ใหม่ฉันจะทำอย่างไร
คุณเพียงแค่ต้องเพิ่ม _popup=1 พารามิเตอร์ string string ลงใน URL:
url = reverse ( f"admin:myapp_mymodel_change" , args = [ mymodel_instance . pk ])
url = f" { url } ?_popup=1" # clone repository
git clone https://github.com/fabiocaccamo/django-admin-interface.git && cd django-admin-interface
# create virtualenv and activate it
python -m venv venv && . venv/bin/activate
# upgrade pip
python -m pip install --upgrade pip
# install requirements
pip install -r requirements.txt -r requirements-test.txt
# install pre-commit to run formatters and linters
pre-commit install --install-hooks
# run tests
tox
# or
python runtests.py
# or
python -m django test --settings " tests.settings " ยินดีต้อนรับการมีส่วนร่วมเสมอโปรดทำตามขั้นตอนเหล่านี้เพื่อส่ง PR ที่มีคุณภาพดี:
CI ปล่อยภายใต้ใบอนุญาต MIT
django-cache-cleaner ล้างแคชทั้งหมดหรือแคชแต่ละตัวได้อย่างง่ายดายโดยใช้แผงผู้ดูแลระบบหรือคำสั่งการจัดการ -
django-colorfield สนามสีที่เรียบง่ายสำหรับรุ่นที่มีเครื่องเก็บสีที่ดีในผู้ดูแลระบบ -
django-extra-settings กำหนดค่าและจัดการการตั้งค่าพิเศษที่พิมพ์โดยใช้เพียงผู้ดูแลระบบ Django
django-maintenance-mode แสดงหน้าข้อผิดพลาด 503 เมื่อเปิดโหมดการบำรุงรักษา -
django-redirects - เปลี่ยนเส้นทางด้วยการควบคุมเต็มรูปแบบ
django-treenode - อาจเป็นโมเดลนามธรรม / ผู้ดูแลระบบที่ดีที่สุดสำหรับสิ่งของตามต้นไม้ของคุณ -
python-benedict -subclass dict ที่มีการสนับสนุน keylist/keypath, I/O ทางลัด (Base64, CSV, JSON, Pickle, Plist, Query-String, Toml, XML, Yaml) และสาธารณูปโภคมากมาย
python-codicefiscale - เข้ารหัส/ถอดรหัสรหัสการคลังอิตาลี - Codifica/decodifica del codice fiscale - -
python-fontbro - การดำเนินการแบบอักษรที่เป็นมิตร -
python-fsutil ทิลิตี้ระบบไฟล์สำหรับ devs ขี้เกียจ ?