{% load sniplates %} Default, basic form rendering # Built in fields: 'CharField', 'IntegerField', 'DateField', 'TimeField', 'DateTimeField', 'TimeField', 'RegexField', 'EmailField', 'FileField', 'ImageField', 'URLField', 'BooleanField', 'NullBooleanField', 'ChoiceField', 'MultipleChoiceField', 'ComboField', 'MultiValueField', 'FloatField', 'DecimalField', 'SplitDateTimeField', 'IPAddressField', 'GenericIPAddressField', 'FilePathField', 'SlugField', 'TypedChoiceField', 'TypedMultipleChoiceField' # Built in widgets: 'TextInput', 'EmailInput', 'URLInput', 'NumberInput', 'PasswordInput', 'HiddenInput', 'MultipleHiddenInput', 'ClearableFileInput', 'FileInput', 'DateInput', 'DateTimeInput', 'TimeInput', 'Textarea', 'CheckboxInput', 'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect', 'CheckboxSelectMultiple', 'SplitDateTimeWidget', 'SplitHiddenDateTimeWidget', How to render labels {% block _label %} {% if label %}{% endif %} {% endblock %} How to render help_text {% block _help %} {{ help_text }} {% endblock %} How to render errors {% block _errors %} {% if errors %} {% endif %} {% endblock %} {% block input %} {% with input_type=input_type|default:"text" %} {% endwith %} {% endblock %} {% block TextInput %}{% reuse "input" %}{% endblock %} {% block EmailInput %}{% reuse "input" input_type="email" %}{% endblock %} {% block NumberInput %}{% reuse "input" input_type="number" %}{% endblock %} {% block URLInput %}{% reuse "input" input_type="url" %}{% endblock %} {% block PasswordInput %}{% reuse "input" input_type="password" value="" %}{% endblock %} {% block HiddenInput %}{% reuse "input" input_type="hidden" label="" %}{% endblock %} {% block FileInput %}{% reuse "input" input_type="file" value="" %}{% endblock %} {% block DateInput %}{% reuse "input" input_type="date" value=value|date:'Y-m-d' %}{% endblock %} {% block DateTimeInput %}{% reuse "input" input_type="datetime" value=value|date:'Y-m-d H:i:s' %}{% endblock %} {% block TimeInput %}{% reuse "input" input_type="time" value=value|date:'H:i:s' %}{% endblock %} {% block ClearableFileInput %} {% if file %} Currently: {{ file.url }}
Change: {% endif %} {% reuse "input" input_type="file" value="" %} {% endblock %} TODO: {% block SplitDateTimeWidget %}{% endblock %} {% block SplitHiddenDateTimeWidget %}{% endblock %} Fields not derived from InputField: {% block MultipleHiddenInput %} {% for value in raw_value %} {% endfor %} {% endblock %} {% block Textarea %} {% endblock %} Underscore prefixed to avoid potentially clashing with: - {field}_{name} - {widget}_{name} - {field}_{widget} {% block _Select_Option %} {% endblock %} {% block Select %} {% endblock %} {% block SelectMultiple %} {% endblock %} {% block NullBooleanSelect %}{% reuse "Select" %}{% endblock %} Checkbox is a special case and needs its own template. {% block CheckboxInput %} {% endblock %} {% block RadioSelect %} {% endblock %} {% block CheckboxSelectMultiple %} {% endblock %}