【Django】给model设置文件上传字段
文件上传字段设置后,django会的admin后台会自动将该字段识别为文件上传,保存时自动将文件
- 设置setting.py,代码如下。设置文件上传保存的路径为根目录下的media文件夹。
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
- 设置图片的url访问路径,这样就可以访问上传的图片了
from django.conf.urls import url
from django.views.static import serve
from djangoProject.settings import MEDIA_ROOT
urlpatterns = [
# 配置上传文件的访问url
url(r'^media/(?P<path>.*)$', serve, {"document_root" : MEDIA_ROOT}),
]
- 设置model.py,代码如下。设置img字段为图片字段,“upload_to”的值中%Y最终变成年份,%m最终变成月份。图片保存的路径为
/media/face/2021/02/xxx.jpg
。首次上传时,不会讲图片重命名,但是同一个图片被多次上传时,会自动将图片重命名。
class Question(models.Model):
# ...
img = models.ImageField(max_length=100, verbose_name="封面", upload_to="face/%Y/%m", default='')