Почему являются поля формы только для чтения в Django плохой идеей?

Я искал способ создать поле формы только для чтения и каждую статью, которую я нашел на предмете, идет с оператором, что "это - плохая идея". Теперь для отдельной формы, я могу понять, что существуют другие способы решить проблему, но использование поля формы только для чтения в modelformset походит на абсолютно естественную идею.

Рассмотрите заявление журнала оценок учителя, где учитель хотел бы смочь войти, все студенты (отметьте множественных студентов), классы с синглом ОТПРАВЛЯЮТ. modelformset мог выполнить итерации по всем студенческим классам таким способом, которым студенческое имя только для чтения, и класс является доступным для редактирования полем. Мне нравятся питание и удобство проверки ошибок и сообщения об ошибке, которое Вы получаете с modelformset, но отъезд студенческого имени, доступного для редактирования в таком formset, является сумасшедшим.

Так как опытное django согласие состоит в том, что поля формы только для чтения являются плохой идеей, я задавался вопросом, что стандарт django лучшая практика для примера студенческого класса в качестве примера выше?

27
задан a paid nerd 11 December 2010 в 02:53
поделиться

1 ответ

Причина, по которой вы не хотите этого делать, заключается в том, что кто-то может изменить ваше отключенное поле на включенное, а затем отправить форму. Вам придется изменить функцию сохранения, чтобы не вставлять "отключенные" данные.

Стандартный способ сделать это - не помещать имя в поле ввода, а отображать его как текст

<form>
    <div>
        <label>Name</label>
        <p>Johnny Five</p>
    </div>
    <div>
        ....

В django это невозможно.

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

25
ответ дан 28 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: