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

 Pala   2018-09-11 22:49   125 人阅读  0 条评论

背景

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}),
	]


本文地址:http://chenxm.cc/post/703.html
版权声明:本文为原创文章,版权归 Pala 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?