2009-05-27 13 views
3

Я хотел бы изменить шаблон администратора в Django.Настройка шаблона администратора Django

% cat /Library/Python/2.5/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html 
<fieldset class="module aligned {{ fieldset.classes }}"> 
    {% if fieldset.name %}<h2>{{ fieldset.name }}</h2>{% endif %} 
    {% if fieldset.description %}<div class="description">{{ fieldset.description|safe }}</div>{% endif %} 
    {% for line in fieldset %} 
     <div class="form-row{% if line.errors %} errors{% endif %} {% for field in line %}{{ field.field.name }} {% endfor %} "> 
     {{ line.errors }} 
     {% for field in line %} 
     <div{% if not line.fields|length_is:"1" %} class="field-box"{% endif %}> 
      {% if field.is_checkbox %} 
       {{ field.field }}{{ field.label_tag }} 
      {% else %} 
       {{ field.label_tag }}{{ field.field }} 
      {% endif %} 
      {% if field.field.field.help_text %}<p class="help">{{ field.field.field.help_text|safe }}</p>{% endif %} 
     </div> 
     {% endfor %} 
     </div> 
    {% endfor %} 
</fieldset> 

Какой предмет является полем, а точнее, как получить имя поля?

ответ

3

field является экземпляром AdminField и field.field является экземпляром BoundField, так что вы можете ссылаться на поля имя с:

{{ field.field.name }}

После того, как вы начинаете погружаться глубоко в админ настройка, это единственное место, где документация действительно отсутствует. что, как говорится, код хорошо написан и прост для понимания, если вы потратите время на его исследование, ИМХО.

Существует не так много файлов, поэтому нужно провести вечер и прочитать их. В вашем случае, я хотел бы начать с:

1

У вас есть done your research?

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

поля класса, который отвечает за выполнение проверки, например, EmailField , который гарантирует, что его данные действительны адрес электронной почты.

1

check here Если вам необходимо переопределить его вообще. много настраивается.

Кстати, я хотел бы дать вам совет: не перезаписывать/изменять, что вы не понимаете. сначала сделать сами понимаете это