Настройка админ-шаблона Django - PullRequest
3 голосов
/ 28 мая 2009

Я хотел бы изменить шаблон администратора в 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>

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

Ответы [ 2 ]

3 голосов
/ 28 мая 2009

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

{{ field.field.name }}

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

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

1 голос
/ 28 мая 2009

Вы провели исследование ?

После этого я бы начал прорабатывать код Python, который вызывает ваш шаблон. Я думаю, что это поле из системы форм

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

...