近来在研究django,发现有好多好玩的功能,比如图片上传,以前处理这个比较麻烦,现在我们来看看如何来处理图片上传与保存
1.在数据库设计的时候需要配置upload_to
image = models.ImageField(upload_to="org/%Y/%m", verbose_name=u"Logo", max_length=100)
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
4.可以使用后台进行上传
5.配置前端页面显示
1.在urls.py中导入以下模块
from django.views.static import serve
from zxPython.settings import MEDIA_ROOT
在url中配置以下url
#配置上传文件图片的访问处理函数
url(r'^media/(?P<path>.*)$',serve,{"document_root":MEDIA_ROOT}),
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', #以前叫core
],
},
},
]
3.在html标签中中使用
data-url="{{ MEDIA_URL }}{{ org.image }}
#{{ MEDIA_URL }}就是settings里面配的
#org.image 图片字段