Django在imageField网址中添加字母和数字

时间:2019-04-19 13:36:14

标签: django-models imagefield

我在Django模型中有一个ImageField

image = models.ImageField(upload_to ='images')

我的媒体根目录已在settings.py

中进行了设置
MEDIA_ROOT = '/art/'

但是当我上载为Imagefield选择一个gif网址时,该网址不会另存为/ art / images

当我上传gif“ Barnie.gif”的URL时,我在Django Admin中收到此错误消息,该URL存储在art/images/Barnie.gif

Art with ID "1/change/images/Barnie_L2fAl.gif" doesn't exist. Perhaps it was deleted?

2 个答案:

答案 0 :(得分:1)

我有同样的问题。我通过添加以下导入解决了该问题:

from django.conf import settings
from django.conf.urls.static import static

我还添加了以下urlpatterns

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

答案 1 :(得分:0)

我想尝试不做所有的配置工作,但是您必须这样做。

在基本应用urls.py中,我添加了:

from django.conf import settings
from django.conf.urls.static import static

,在我添加的网址列表的末尾:

+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

然后在我的settings.py中添加:

MEDIA_ROOT = os.path.join(BASE_DIR, '/art/images')

MEDIA_URL = '/images/'