Joshua (#6591) - Материал Сборки "мусора" в Mac OS X 10.5 кажется довольно прохладным, но не доступен для iPhone (или если Вы хотите, чтобы Ваше приложение работало на пред10.5 версиях Mac OS X).
кроме того, если Вы пишете библиотеку или что-то, что могло бы быть снова использовано, с помощью режима GC, блокирует любого использующего код в также использование режима GC, так насколько я понимаю, любой пытающийся написать широко повторно используемый код склонен идти для руководящей памяти вручную.
Я не пробовал это, но почти уверен, что вы можете просто установить его по умолчанию в своем поле.
pic = models.ImageField(upload_to='blah', default='path/to/my/default/image.jpg')
ИЗМЕНИТЬ : Stupid StackOverflow не позволит мне комментируйте ответы других людей, но этот старый фрагмент - не то, что вам нужно. Я настоятельно рекомендую django-imagekit , потому что он очень легко и чисто выполняет множество отличных функций по изменению размеров и манипуляций с изображениями.
Теоретически вы также можете использовать функцию в определении вашей модели. Но я не знаю, является ли это хорошей практикой:
class Image(model.Models):
image = ....
def getImage(self):
if not self.image:
# depending on your template
return default_path or default_image_object
а затем в шаблоне
<img src="img.getImage" />
Это дает вам большую гибкость в будущем ...
Я с большим успехом использую sorl для создания эскизов
вы можете попробовать это на свой взгляд:
{% ifequal object.image None %}
<img src="DEFAULT_IMAGE" />
{% else %}
display image
{% endifequal %}