Я хотел бы иметь ImageField в форме администратора для моей модели (скажем, для профиля пользователя). И я хотел бы отобразить это изображение позже.Django - ImageField, загружать, хранить и показывать изображение в сервере разработки
Это модель у меня есть:
class Individual(models.Model):
ind_name = models.CharField(max_length=100)
ind_photo = models.ImageField(default="default.jpg")
def __str__(self):
return self.ind_name
Это то, что я имею в настройках моего сайта:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static")
MEDIA_URL = '/static/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,"static/media")
Они являются URLs моего приложения:
urlpatterns = [
url(r'^$', views.index, name="index")
]
Я знаю, как использовать статические файлы (например, CSS, Javascript) и заставить их работать как в разработке, так и в производстве. Но я понятия не имею, как заставить изображения работать. Я читал Managing static files и Deploying static files, но я до сих пор не понимаю.
С кодом выше изображение сохраняется в соответствующей папке (то есть/статическом/носителе на уровне моего сайта). Но я понятия не имею,:
1), как отобразить его в шаблоне,
2) будет ли лучше сохранить эти изображения в статической папке моего приложения,
3) и (если 2) должен ли я запускать collectstatic каждый раз, когда кто-то загружает изображение в админ.
Извините, если я не понимаю, но этот путь более темный, чем я думал.
Я не могу воспроизвести изображение с этим на сервере разработки. URL-адрес - правильный путь, но он не обслуживается. Кроме того, если мне нужно запускать collectstatic каждый раз, когда изображение загружается в admin, где я должен это перехватить? В методе сохранения для моей модели? – GuitarExtended
В общем случае в среде разработки/производства мы будем обслуживать статические или мультимедийные файлы с веб-сервером. Поэтому вам нужно настроить путь к вашему медиа-каталогу на своем веб-сервере. – MicroPyramid
Я думаю, что могу заставить его работать на производстве, но мне нужно тестировать материал во время разработки. Итак, как я могу служить образ при запуске сервера разработки? – GuitarExtended