新建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)