Как вывести изображение вместо имени файла python django
В models.py
class profile(models.Model):
name = models.CharField(max_length = 20, null = True)
photo = ThumbnailerImageField(default='photo',
resize_source= dict(quality=95,
size=(600,600),
sharpen=True))
views.py
def profile1(request, category):
idc=decode(category)
person = profile.objects.get(id = idc)
return render(request, 'register/profile.html', context={"name":person.name,"photo":person.photo})
forms.py
class form2(forms.Form):
name = forms.CharField(label = "логин")
photo = forms.ImageField(label="фото")
в шаблоне(profile.html)
{{name}}
{{photo}}
settings.py
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
urls.py
app_name = "register"
urlpatterns = [
path("<int:category>/", views.profile1, name = "profile"),
]
У меня работает регистрация и вход в созданный аккаунт, выводится имя пользователя, но вместо картинки(аватарки пользователя) выводится имя файла. Можно ли это исправить?
Ответы (1 шт):
Автор решения: Vadim.Sharoikin
→ Ссылка
попробуйте выводить так
<img src="{{photo.url}}">
и добавьте в url проекта
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)