Как я могу изменить выходной результат Списка Результата Django Admin? Я изучал файл шаблона change_result_list.html, но все, что я могу найти:
{% for item in result %}{{ item }}{% endfor %}
Который будет производить что-то как:
<tr>
<td>
<input type="checkbox" class="action-select" value="2" name="_selected_action" />
</td>
<th>
<a href="1/">Lorem Ipsum</a>
</th>
</tr>
Очевидно, th элемент повреждает мой дизайн. Там должен так или иначе изменить его в td?
Нет "простого" способа сделать это, поэтому я сначала должен спросить, зачем вам вообще это нужно. Я не понимаю, почему элемент Тем не менее, вот некоторые возможности, на которые стоит обратить внимание. Выбор th / td определяется в строке 169 (Django 1.2.1) Как видите, нет очевидного способа изменить поведение, определяющее значение table_tag, поэтому у вас есть следующие варианты: Если вас устраивает, что ни один из столбцов в таблице не является ссылкой на страницу редактирования элемента (не могу представить, почему вы это сделали), вы можете использовать этот уродливый прием в своем Поскольку модели администратора проверяются только один раз, что происходит при вызове
должен «явно» нарушать ваш дизайн. Элемент
эквивалентен
, за исключением того, что по умолчанию имеет дополнительный стиль (обычно font-weight: bold; text-align: center;
). Вы должны учесть это в своем CSS.
django.contrib.admin.templatetags.admin_list.py
. Вот краткое изложение контекста, в котором он появляется: def items_for_result(cl, result, form):
first = True
for field_name in cl.list_display:
# ...
if (first and not cl.list_display_links) or field_name in cl.list_display_links:
table_tag = {True:'th', False:'td'}[first]
first = False
# ...
yield mark_safe(u'<%s%s><a href="%s"%s>%s</a></%s>' % (table_tag, row_class, url, ...)
else:
# ...
yield mark_safe(u'<td%s>%s</td>' % (row_class, result_repr))
в полученных значениях на
s. Затем вы можете переопределить теги change_list.html и {% load%} после загрузки admin_list.
админке. py
: admin.site.register (YourModel, YourModelAdmin)
admin.site._registry [Ваша модель].list_display_links = ['not_a_field_name',] `
register ()
, вы можете впоследствии получить зарегистрированный ModelAdmin
и присвоить ему недопустимый list_display_links
собственности. Похожие вопросы: