django 配置media文件,处理上传图片/文件方法设置

前端之家收集整理的这篇文章主要介绍了django 配置media文件,处理上传图片/文件方法设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

django版本:2.1.1

解决方法

1. setting.py文件需要设置信息如下:

  • MEDIA_URL = ‘/media/’,设置该路径为了在模板中定位静态文件图片/文件等)的位置,<img src="{{ MEDIA_URL }}{{ user.image }}"/> 这样便可以从浏览器中得到头像的URL地址,从而显示出来

  • MEDIA_ROOT = os.path.join(BASE_DIR,‘media’),设置该路径是为了将新建的‘media’添加到根搜索路径下,这样在建立用户模型时的image = models.ImageField(max_length=100,upload_to='users/image/%Y/%m',, upload_to 指定的是相对闻之,通过设定MEDIA_ROOT,便可以将头像存储在:127.0.0.1:8000/meida/user/image/%Y/%m,目录下了。

  • 设置TEMPLATES中的上下文管理器,添加media进来,如果不添加的话,模板中的{{ MEDIA_URL }}会找不到地址的。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,        'APP_DIRS': True,        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',                'django.template.context_processors.request',                'django.contrib.auth.context_processors.auth',                'django.contrib.messages.context_processors.messages',                'django.template.context_processors.media',            ],        },    },]

2. 配置urls.py文件

from django.views.static import serve
from django.conf import settings

urlpatterns = [
    url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),]


猜你在找的Django相关文章