Pregunta

Me gustaría modificar una plantilla de administración de 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>

¿Qué tipo de objeto es el campo, y más específicamente cómo iba a obtener el nombre de un campo?

¿Fue útil?

Solución

field es una instancia de AdminField y field.field es una instancia de BoundField , por lo que puede hacer referencia a los campos de nombre con:

{{ field.field.name }}

Una vez que se empieza a sumergirse profundamente en la personalización de administración, es el único lugar la documentación es muy deficiente. una vez dicho esto, el código está bien escrito y fácil de entender si se toma el tiempo para la investigación que, en mi humilde opinión.

No hay muchos archivos a fin de tomar una noche y leer a través de ellos. En su caso, me gustaría empezar con:

Otros consejos

¿Ha hecho su investigación ?

Después de eso, me gustaría empezar estudiando detenidamente el código Python que invoca a su plantilla. Me imagino que es el campo de la formas sistema

  

Campo       Una clase que se encarga de hacer la validación, por ejemplo, un EmailField   que se asegura de que sus datos es una válida   dirección de correo electrónico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top