繁体   English   中英

“ImageField”字段中的默认图像 - Django

[英]defautl image in the field “ImageField” - Django

默认情况下,我尝试将图像放入 ImageField 中。 但我无法解决问题。

我第一次尝试解决方案如下:

from django.contrib.staticfiles import finders

result = finders.find('img/image.png')
models.ImageField(upload_to = user_model_custom_upload, default = result)

我对解决方案的第二次尝试如下:

from django.conf import settings
import os

DEFAULT_AVATAR_PATH = os.path.join(settings.MEDIA_ROOT, 'images/no-avatar.png')

models.ImageField(upload_to = user_model_custom_upload, default = DEFAULT_AVATAR_PATH)

两种解决方案都不起作用

但是第二种方法发生了一些奇怪的事情,在Django搜索图像时,Django的图像路径如下:

Not Found: /media/home/lcteen/Documents/Programming/Frameworks/Django/ibme_project/media/images/no-avatar.png

我不知道当前发生了什么,就像我的目录结构在媒体文件夹或其他东西中......但我的媒体文件夹根本没有改变。

有什么解决办法吗?

只需将'images/no-avatar.png'提供给默认参数

models.ImageField(upload_to = user_model_custom_upload, default = 'images/no-avatar.png')

并在您的项目url conf.

if settings.DEBUG: 
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

并确保在您的settings.py文件中

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM