Django-adminplus является приложение Django, который стремится быть минимально возможным расширением отличным Django администратора компонента, который позволяет добавить администратора мнения, которые не привязаны к модели.
Есть пакеты там, как Nexus и Django-Admin-инструменты, которые заменяют всю администратора. Nexus поддерживает добавление совершенно новых "модулей" (модель админ Джанго является модуль по умолчанию), но там, кажется, много кода котла пластины, чтобы сделать это. Django-Admin-инструменты не, насколько я могу судить, поддержка добавления пользовательских страниц.
Все AdminPlus делает, позволяют добавлять простые пользовательские представления (хорошо, они могут быть столь же сложным, как вам нравится!) Не влияли захвате адресов, а также предоставление ссылки на них прямо в индекс администратора.
Установка AdminPlus
Возьмите AdminPlus из GitHub с пип:
пункт установить Git -e: //github.com/jsocol/django-adminplus
Чтобы использовать AdminPlus в вашем проекте Django, вам понадобится, чтобы заменить django.contrib.admin.site, который является экземпляром django.contrib.admin.sites.AdminSite. Я рекомендую делать это в urls.py прямо перед вызовом admin.autodiscover ():
# Urls.py
от django.contrib администратора импорта
от adminplus импорта AdminSitePlus
admin.site = AdminSitePlus ()
admin.autodiscover ()
urlpatterns = узоры ('',
& NBSP; # ...
& NBSP; # Включить администратора URL конф как обычно.
& NBSP; (г '^ администратора ", включают в себя (admin.site.urls)),
& NBSP; # ...
)
Поздравления! Вы сейчас с помощью AdminPlus.
Использование AdminPlus
Так что теперь вы установили AdminPlus, вы хотите, чтобы использовать его. AdminPlus на 100% совместим со встроенным модулем администратора, так что если вы используете, что вы не должны ничего менять.
AdminPlus предлагает новую функцию, admin.site.register_view, чтобы прикрепить произвольные вид на админа:
# Someapp / admin.py
# Если предположить, вы заменили django.contrib.admin.site, как описано выше.
от django.contrib администратора импорта
Def my_view (запрос, * аргументы, ** kwargs):
& NBSP; пас
admin.site.register_view ('некоторый_путь ", my_view)
# И, конечно, это все еще работает:
от someapp.models импорта MyModel
admin.site.register (MyModel)
Теперь my_view будут доступны в админ / некоторый_путь и будет ссылка на него в пользовательский раздел индекса админ Просмотров.
register_view занимает 3-я, опциональный аргумент: понятное имя для отображения в списке пользовательских представлений. Например:
Def my_view (запрос):
& NBSP; "" "ли что-то фантазии!" ""
admin.site.register_view ('некоторый_путь ", my_view," Мой Необычные Admin Посмотреть!)
. Все зарегистрированные взгляды, завернутый в admin.site.admin_view
Требования
- Python
- Джанго
Комментарии не найдены