Django配置Media

新建media文件夹,设置setting.py文件

  • 在项目目录下设置media文件夹
  • 设置setting.py文件
 1 # 上传文件路径设置
 2 MEDIA_URL = "/media/"
 3 MEDIA_ROOT = os.path.join(BASE_DIR,"media")
 4 
 5 
 6 # TEMPLATES 加入django.template.context_processors.media在html的地方可以使用 data-url="{{ MEDIA_URL }}{{ org.image }}"/>
 7 TEMPLATES = [
 8     {
 9         'BACKEND': 'django.template.backends.django.DjangoTemplates',
10         'DIRS': [os.path.join(BASE_DIR, 'templates')]
11         ,
12         'APP_DIRS': True,
13         'OPTIONS': {
14             'context_processors': [
15                 'django.template.context_processors.debug',
16                 'django.template.context_processors.request',
17                 'django.contrib.auth.context_processors.auth',
18                 'django.contrib.messages.context_processors.messages',
19                 'django.template.context_processors.media'
20             ],
21         },
22     },
23 ]

设置路由urls.py

  • 导入from django.views.static import serve
  • 导入settings文件:from . import settings
  • 设置路由:url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT})
1 from django.views.static import serve
2 from . import settings
3 
4 url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),

Models的字段配置

  • 上传图片的字段设置为models.ImageField(upload_to="上传目录")
1 image = models.ImageField(upload_to="org/%Y%m",verbose_name='机构Logo',max_length=100)
原文地址:https://www.cnblogs.com/ygzy/p/11228509.html