Django Admin: ссылка на Admin-интерфейс ForeignKey под надстройкой и изменением - PullRequest
0 голосов
/ 08 октября 2018

У меня есть модель django с именем Foo

У него есть ForeignKey для "Remote".

Это отображается следующим образом в администраторе django:

enter image description here

Под выпадающим меню есть две иконки: "изменить" и "добавить".

Было бы очень здорово, если бы у меня была третья иконка:Ссылка на страницу администрирования данного удаленного экземпляра.

Как это можно сделать?

Было бы неплохо использовать повторно, так как я хочу эту функцию для нескольких страниц администратора.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Есть стартовый код, чтобы помочь вам

1 - Сначала вам нужно использовать javascript для работы с динамическими элементами, поэтому вы можете использовать такие как:

$('a.related-widget-wrapper-link add-related, a#add_id_client').after('<a href="#" class="float-right"> <img src="/static/application/img/avatar.jpg"> </a>');

Примечание: a#add_client, смените название вашей текущей модели

Dynamic Element JS

2 - Установите в качестве URL-адреса <a href=""></a> в javascript

3 - Наконец, ссылкаВы .js код для вашего шаблона, используя class Meta: или перезаписав base.html.Например:

base.html конечный файл

    {% block footer %}
    {% endblock %}

</div>
<!-- END Container -->
<script type="text/javascript" src="{% static "application/js/my_custom_javascript.js"%}"></script>

</body>
</html>
0 голосов
/ 09 октября 2018

Я лично не проверял это, но чтобы добавить больше значков, вы должны сделать это, переписав административный шаблон для виджета для related_widget_wrapper.

См. Эти два файла:

django / contrib / admin / templates / admin / related_widget_wrapper.html django / contrib / admin / templates / admin / widgets/related_widget_wrapper.html

В частности, вы хотите, чтобы это сгенерировало URL изменения: {{ change_related_template_url }} без {{ url_params }}

Переопределение шаблонов администратора:

https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#admin-overriding-templates

...