美文网首页
Django3.0 ImageField 文件/图片上传配置

Django3.0 ImageField 文件/图片上传配置

作者: Paycation | 来源:发表于2020-07-26 01:22 被阅读0次

按以下步骤操作即可:

1. 配置 settings.py(项目同名目录下)

MEDIA_ROOT = 'media'
MEDIA_URL = '/media/'

注意MEDIA_ROOT不要写成'/media/',因为这样会导致上传的文件被存到服务器的根目录。原则上,还是存到项目目录下吧。

2. 配置 models.py (app下)

在需要 ImageField 的 model 里添加一个字段。

avatar = models.ImageField(upload_to='avatars')

这里 upload_to 表示上传的目录,对于本例,上传后的目录就是:项目根目录/media/avatars
也可以用一个 callable 作为参数:

def user_directory_path(instance, filename):
    # 文件储存路径 MEDIA_ROOT/user_<id>/<filename>
    return '{0}/{1}'.format(instance.user.id, filename)

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    avatar = models.ImageField(upload_to=user_directory_path)

3. 配置 urls.py(项目同名目录下)

由于需要对这些上传的文件进行访问,因此需要配置一个url(加号后面的内容):

from django.conf.urls import url, include
from django.contrib import admin
from django.conf.urls.static import static
from . import settings

urlpatterns = [
    url(r'', include('core.urls')),
    url(r'admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

以上几步完成后,你上传文件后,在 templates 中就可以使用:{{ user.profile.avatar.url }}来进行访问了。

相关文章

  • Django3.0 ImageField 文件/图片上传配置

    按以下步骤操作即可: 1. 配置 settings.py(项目同名目录下) 注意MEDIA_ROOT不要写成'/m...

  • 上传和下载

    上传文件图片 配置 前端展示使用文件图片(下载) 配置 settings 中配置 这样在前端可以使用 {{ MED...

  • Django的记录(三) 模型

    模型相关 图片上传以及显示如果想支持从本地上传图片,需要把img设置为ImageField。然后需要安装一个图片库...

  • springboot将图片上传至阿里云OSS

    配置文件 首先是配置文件application.ymladdress为bucket的地址,用来获取图片上传后的图片...

  • 2018-04-25

    Django-上传图片 1. 模型定义中将属性定义成 models.ImageField 类型 pic=model...

  • 文件上传

    项目根目录下static文件夹中创建media文件夹 配置 功能:上传一张图片 功能:多个文件上传、

  • 2018-12-09

    SpringBoot项目中文件上传,配置文件上传图片存放的虚拟路径的问题: 问题:在springboot项目中,如...

  • SpringBoot整合Themleaf+Markdown

    pom文件坐标: application.properties文件配置: 实体类就不说了,主要是上传图片文件部分,...

  • spring boot 图片上传到本地目录

    1、图片上传 2、图片访问(资源映射) 配置文件中设置#访问服务器本地资源

  • Django-08-文件上传FileField和ImageFie

    用django开发,经常要处理用户上传的文件, 比如个人头像的字段 ImageField等等,而django在Fi...

网友评论

      本文标题:Django3.0 ImageField 文件/图片上传配置

      本文链接:https://www.haomeiwen.com/subject/neqblktx.html