Django формы сами создают строки таблицы - PullRequest
0 голосов
/ 10 июля 2020

Я использую django с формами. И на каждом из них django добавьте <tr> & <td> перед различными входами.

Пример:

forms.py

class LoginForm(forms.Form):

username = forms.CharField(label='username', max_length=50)
password = forms.CharField(label='password', widget=forms.PasswordInput, max_length=100)

views. py:

class Login(View):

    def get(self, request):
        form = LoginForm()
        return render(request, 'login.html', {'form': form})

В файле html я просто импортирую форму через

{{ form | linebreaks }}

Но теперь данный код html выглядит так:

<form method="post" action="/">
    <input type="hidden" name="csrfmiddlewaretoken" value="*csrftoken*">
    <p><tr><th><label for="id_username">username:</label></th><td><input type="text" name="username" maxlength="50" required id="id_username"></td></tr><br><tr><th><label for="id_password">password:</label></th><td><input type="password" name="password" maxlength="100" required id="id_password"></td></tr></p>
    <br>
    <button class="button" type="submit">Login</button>
</form>

Но почему django это делает? Разве нельзя просто использовать теги ввода?

1 Ответ

1 голос
/ 10 июля 2020

попробуйте следующее:

{{form.as_p|linebreaks}}

вместо:

{{form|linebreaks}}
...