этикетки формы не отображаются на html с хрустящей формой - PullRequest
0 голосов
/ 10 июля 2020

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

Возможно, у меня где-то есть ошибка в коде, но я не могу ее обнаружить.

forms.py

class Contact(forms.ModelForm):
    class Meta:
        model = contact
        fields = ['first_name','last_name','email','phone']
        #labels = {'first_name':'First name','last_name':'Last name', 'email':'email', 'phone':'phone number'}
        
        def __init__(self, *args, **kwargs):
            super(Contact, self).__init__(*args, **kwargs)
            self.helper = FormHelper()
            self.helper.form_show_labels = True
            self.fields['first_name'].label = "First name"
            self.fields['last_name'].label = "Last name"
            self.fields['email'].label = "email"
            self.fields['phone'].label = "phone number"

html шаблон:

<p> {%  trans 'Or fill out the form below' %}</p> 
<form method="POST" class="form-validate" id="contact">
    {% csrf_token %}
    <a>{% crispy form %}
         <input type="submit" class="learn_more2" value={%  trans 'Contact us' %}  style="background-color:#36393f; color:#DB6574; margin:auto; display:block">
    </a>
</form>

1 Ответ

0 голосов
/ 10 июля 2020

Вы должны инициализировать теги хрустящей формы с помощью {% load crispy_forms_tags %} - например, вверху вашего шаблона. Также хрустящий «заменяет» <form> ...</form>.

{% extends 'base.html' %}
{% load crispy_forms_tags %} <!-- HERE -->

{% block title %}
    Title
{% endblock title %}

{% block content %}
        {% csrf_token %}
        {% crispy form %}
{% endblock %}

примерно так.

...