В случае, если вы визуализируете HTML
В случае, если вы визуализируете HTML, я бы добавил сообщение «отступление» только в шаблон.Вы можете сделать это с помощью default
шаблона фильтра :
{{ object.<b>notes | default:"<i>No notes</i>"</b> }}
Преимущество этого использования в том, что - в случае другогоШаблон должен отображать другое сообщение, или курсив не подходит - вы можете решить использовать что-то еще.Более того, шаблон довольно явно указывает, как должен отображаться контент.
Обратите внимание, что здесь мы используем .notes
, а не .get_notes
функцию, которая добавляет какой-то заполнитель.
Вв случае поля формы
Я бы предположил, что "No notes"
- это , а не содержимое CharField
.Как бы вы определяли "No notes"
от пользователя, явно пишущего "No notes"
?Что если вы потом передумаете?Затем вам нужно переписать всю логику в формах и т. Д. Однако вы можете использовать placeholder
и добавить для этого соответствующую разметку:
class SomeForm(forms.Form):
notes = forms.CharField(
label='notes',
widget=forms.TextInput(attrs={<b>'placeholder': 'No notes'</b>})
)
Затем можно выполнить разметку с помощью таблицы стилей .css
:
input::<b>placeholder</b> {
font-style: <b>italic</b>;
}
Использование get_notes
вместо
Если вы настаиваете на использовании get_notes
, вы можете сначала упростить свою функцию, а также вы можете использовать mark_safe(..)
для рендеринга raw html:
<b>from django.utils.safestring import mark_safe</b>
def get_notes(self):
return self.notes<b> or mark_safe('<i>No notes</i>')</b>