Изображения не отображаются в веб-приложении Django, развернутом на Vercel
Я успешно развернул свое приложение локально, но при развертывании на Vercel я не могу заставить изображения отображаться.
vercel.json:
{
"builds":[{
"src":"XPense/wsgi.py",
"use":"@vercel/python",
"config":{ "maxLambdaSize":"15mb", "runtime":"python3.10" }
}],
"routes":[
{
"src":"/(.*)",
"dest":"XPense/wsgi.py"
}
]
}
settings.py:
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
проблемный ребенок:
<div id="profile-picture-selection" class="grid grid-cols-3 gap-4">
{% for image in profile_pictures %}
<input type="radio" name="profile_picture" id="{{image}}" value="{{image}}" style="display: none;">
<img src="/media/profile_pictures/{{image}}" alt="{{image}}" class="profile-image-preview rounded-lg cursor-pointer transition transform hover:scale-110" onclick="selectImage('{{image}}', this)">
{% endfor %}
</div>
Изображения находятся в XPense/media/profile_pictures/ с XPense в качестве корня. Я пробовал перемещать изображения в общую папку и использовать <img src=«/{{image}}»... но пока ничего не получилось, я пробовал жестко кодировать url изображения и это тоже не работает, так что да... Помогите пожалуйста!
Веб-сайт развернут, и вы можете проверить его, если перейдете к регистрации нового пользователя text
Я пробовал перемещать изображения в общую папку и использовать <img src=«/{{image}}»... но пока ничего не получилось, я пробовал жестко кодировать url изображения и это тоже не работает, так что да... Помогите, пожалуйста!
Вам понадобится облачный сервис для обслуживания медиафайлов в производственных условиях. Я не знаю, предоставляет ли vercel такие услуги, но могу предложить использовать Cloudinary, который я пару раз использовал на Heroku.
Вам придется интегрировать Cloudinary в ваш проект Django.
Вы можете увидеть пример этого в этом учебнике.