Одной вещью, которую необходимо иметь в виду, является размер набора данных. Я полагаю, что Dillie-O был единственным, кто даже удаленно поразил точку.
, Если бы у Вас есть маленький, отдельный пользователь, пользовательское приложение тогда, я сказал бы DB. У меня есть приложение управления DVD, которое использует файловую систему (в Программных файлах в том), и это - PIA для резервного копирования. Я желаю КАЖДЫЙ раз, когда они сохранили бы их в дб, и позволять мне выбрать, где сохранить тот файл.
Для большего коммерческого применения тогда я начал бы изменять свои взгляды. Я раньше работал на компанию, которая разработала приложение управления информацией окружных секретарей. Мы сохранили бы изображения на диске, в закодированном формате [для контакта с проблемами FS с большими количествами файлов] на основе графства присвоил инструментальный номер. Это было полезно на другой передней стороне, поскольку изображение могло существовать перед записью DB (из-за их рабочего процесса).
Как с большинством вещей: 'Это зависит от того, что Вы делаете'
<form>
{% for field in form %}
{{ field.label }}: {{ field.value }}
{% endfor %}
</form>
Взгляните сюда Поля формы и Работа с формами
Вы также можете использовать новый виджет: я сделал это, чтобы у меня был виджет, который создавал текстовое отображение даты и скрытую форму с той же датой в ней, поэтому он может быть виден пользователю, но он не может его изменить.
Вот начальная (все еще тестируемая / подлежащая очистке) версия:
class DayLabelWidget(forms.Widget):
def render(self, name, value, attrs):
final_attrs = self.build_attrs(attrs, name=name)
if hasattr(self, 'initial'):
value = self.initial
if type(value) == type(u''):
value = datetime.date(*map(int, value.split('-')))
return mark_safe(
"%s" % value.strftime("%A (%d %b %Y)")
) + mark_safe(
"<input type='hidden' name='%s' value='%s' />" % (
name, value
)
)
def _has_changed(self, initial, data):
return False
Затем вы используете это в поле как (widget = DayLabelWidget, )
.
Кроме того, не забывайте, что вы также можете сделать {{myform.instance.name}}