Повторное использование шаблона формы администратора Django для моих собственных форм
Когда админ Django отображает одну из своих форм, поля отображаются в HTML следующим образом:
<div>
<div class="flex-container">
<label for="id_comment">Comment:</label>
<input type="text" name="comment" class="vTextField" maxlength="200" id="id_comment">
</div>
</div>
Когда я добавляю свою собственную страницу в интерфейс администратора и отображаю форму с помощью {{ form }}
, макет полностью меняется, и то же самое поле будет отображаться следующим образом:
<div>
<label for="id_comment">Comment:</label>
<input type="text" name="comment" id="id_comment">
</div>
Как я могу повторно использовать шаблон формы Django для своих собственных форм?
Вот мой полный HTML-шаблон:
{% extends "admin/base_site.html" %}
{% load i18n admin_urls %}
{% block breadcrumbs %}
<div class="breadcrumbs">
<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a>
› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a>
› <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a>
› {{ title }}
</div>
{% endblock %}
{% block content %}
<form action="." method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Generate codes">
</form>
{% endblock %}
Я включаю эту дополнительную страницу в админку, устанавливая get_urls
в классе ModelAdmin
и возвращая TemplateResponse
с экземпляром формы.