Изображение по умолчанию для ImageField в ORM Django

Joshua (#6591) - Материал Сборки "мусора" в Mac OS X 10.5 кажется довольно прохладным, но не доступен для iPhone (или если Вы хотите, чтобы Ваше приложение работало на пред10.5 версиях Mac OS X).

кроме того, если Вы пишете библиотеку или что-то, что могло бы быть снова использовано, с помощью режима GC, блокирует любого использующего код в также использование режима GC, так насколько я понимаю, любой пытающийся написать широко повторно используемый код склонен идти для руководящей памяти вручную.

23
задан Yuvi 14 August 2009 в 09:20
поделиться

3 ответа

Я не пробовал это, но почти уверен, что вы можете просто установить его по умолчанию в своем поле.

pic = models.ImageField(upload_to='blah', default='path/to/my/default/image.jpg')

ИЗМЕНИТЬ : Stupid StackOverflow не позволит мне комментируйте ответы других людей, но этот старый фрагмент - не то, что вам нужно. Я настоятельно рекомендую django-imagekit , потому что он очень легко и чисто выполняет множество отличных функций по изменению размеров и манипуляций с изображениями.

33
ответ дан 29 November 2019 в 01:38
поделиться

Теоретически вы также можете использовать функцию в определении вашей модели. Но я не знаю, является ли это хорошей практикой:

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 для создания эскизов

8
ответ дан 29 November 2019 в 01:38
поделиться

вы можете попробовать это на свой взгляд:

{% ifequal object.image None %}
    <img src="DEFAULT_IMAGE" />
{% else %}
    display image
{% endifequal %}
3
ответ дан 29 November 2019 в 01:38
поделиться
Другие вопросы по тегам:

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