Вертикальное выравнивание текста в Django виджете формы - PullRequest
0 голосов
/ 30 марта 2020

У меня есть многострочное поле ввода в моей форме. Текст выравнивается по центру, но я хочу, чтобы он был выровнен по верху.

Моя форма:

class FeedbackForm(forms.ModelForm):
    submitter = forms.CharField(max_length=100, help_text="Name")
    sub_email = forms.EmailField(help_text="E-Mail Adresse (wird nicht veröffentlicht.)")
    sub_date = forms.DateField(disabled=True, help_text="Datum", initial=date.today())
    content = forms.CharField(max_length=500, help_text="Text",
        widget=forms.TextInput(attrs={'vertical-align': 'top'}))

Мой шаблон:

<form id="category_form" method="POST"> 
    {% csrf_token %}
    {% for hidden in form.hidden_fields %}
        {{ hidden }}
    {% endfor %}
    <table>
       <tr>
           <td><strong>Datum</strong></td>
           <td>{{ form.sub_date }}{{ form.sub_date.errors }}</td>
        </tr>
       <tr>
           <td><strong>Name</strong></td>
           <td>{{ form.submitter }}{{ form.submitter.errors }}</td>
        </tr>
       <tr>
           <td><strong>E-Mail</strong></td>
           <td>{{ form.sub_email }}{{ form.sub_email.errors }}</td>
        </tr>
       <tr>
           <td><strong>Text</strong></td>
           <td>{{ form.content }}{{ form.content.errors }}</td>
        </tr>
    </table>

    <p><input type="submit" name="submit" value="Save" /></p>
</form>

Я пытаясь передать стиль CSS в атрибуте attrs виджета, как описано в документах Django. Но мой текст все еще выровнен по середине. Что я делаю не так?

1 Ответ

0 голосов
/ 01 апреля 2020

Разобрался.

Вы используете виджет Textarea вместо TextInput:

content = forms.CharField(max_length=500, help_text="Text",
        widget=forms.Textarea()

Затем вы можете применить стиль в CSS:

textarea, input, button, select { 
    font-family: inherit; font-size: inherit; 
}
...