Bez popisu

_form.html 804B

12345678910111213141516171819202122232425
  1. {% load crispy_forms_tags %}
  2. <form
  3. method="{{ method|default:'post' }}"
  4. action="{{ action|default:'' }}"
  5. class="bg-white rounded shadow p-6 space-y-4"
  6. {% if enctype %}enctype="{{ enctype }}"{% elif form.is_multipart %}enctype="multipart/form-data"{% endif %}
  7. >
  8. {% if method|default:'post'|lower == 'post' %}{% csrf_token %}{% endif %}
  9. {% if form.non_field_errors %}
  10. <div class="error px-3 py-2 rounded mb-3">{{ form.non_field_errors }}</div>
  11. {% endif %}
  12. {{ form.media }}
  13. {{ form|crispy }}
  14. <div class="flex items-center gap-2">
  15. <button class="btn">{{ submit_label|default:'Save' }}</button>
  16. {% if cancel_url %}
  17. <a href="{{ cancel_url }}" class="btn-outline">Cancel</a>
  18. {% endif %}
  19. {% if extra_buttons %}{{ extra_buttons|safe }}{% endif %}
  20. </div>
  21. </form>