#python #django #model-view-controller #django-admin
#python #django #модель-представление-контроллер #django-admin
Вопрос:
Я узнал, что могу добавить пользовательскую кнопку в свою форму администратора, добавив ее в
fields = ["connect"]
readonly_fields = ('connect',)
def connect(self, obj):
return format_html("<button></button>")
connect.allow_tags=True
connect.short_description = ''
Однако html, который я хочу добавить connect
, выходит из-под контроля. Мне было интересно, есть ли правильный (Django-nic) способ перенести это в шаблон и загрузить и вернуть содержимое шаблона в connect
функцию.
Я могу подумать о чтении содержимого файла шаблона ( open('file.html', 'r')
) для чтения содержимого, однако я ищу предложение, которое соответствует стандартам Django (если таковые имеются).
PS Я также попытался создать представление для получения HTML-содержимого файла connect, но это по какой-то причине не работает и кажется неестественным.
Ответ №1:
from django.template.loader import render_to_string
...
def connect(self, obj):
html = render_to_string('file.html')
return html
С file.html
помощью в templates
каталоге