django将图片上传数据库后在前端显式的方法

yipeiwu_com6年前Python基础

1、使用ImageField先安装pillow模块

pip install pillow

2、在app的models中设置

class Image(models.Model):
  pic_name=models.CharField('图片',max_length=40)
  pic_path=models.ImageField(upload_to="pic_folder/",default='pic_folder/None/no_image.pig')

3、在app的view中设置获取图片的方法

def upload_pic(request):
  pic=Image.objects.all()
  return render(request,'blog/image.html',{'pic':pic})

4、在settings中设置

1、添加media模板
TEMPLATES = [
 {
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': [os.path.join(os.path.dirname(__file__), 'templates'),os.path.join(os.path.dirname(__file__), 'static'), ],

  '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、设置media的路径
MEDIA_URL='media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media').replace('\\','/')

5、在app的urls中设置

from django.conf.urls.static import static
 from django.conf import settings

 urlpatterns = [
  url(r'^pic$', views.upload_pic, name='upload_pic')
 ]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

通过admin登录后上传图片,会在站点下生成media/pic_folder的目录

以上这篇django将图片上传数据库后在前端显式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python logging管理不同级别log打印和存储实例

Python内置模块logging管理不同级别log打印和存储,非常方便,从此告别了使用print打桩记录,我们来看下logging的魅力吧 import logging lo...

pytz格式化北京时间多出6分钟问题的解决方法

起步 在django框架中,用的是 pytz 库处理时区问题,所以我也尝试用这个库来处理。但发现了一个奇怪的问题: import datetime import pytz dt...

详解在python操作数据库中游标的使用方法

cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb对象,这个时候cursor中还没有数据,只有等...

python实现井字棋游戏

本文实例介绍了python实现井字棋游戏的方法,分享给大家,具体内容如下 windows7下python3.4.0编译运行通过。由于采用了cmd调用,所以与Linux不兼容,无法在Lin...

python如何获取列表中每个元素的下标位置

Git是编程中的基本技能之一,互联网公司几乎都在使用Git进行协作编程,昨天还有位禅友在微信上专门告诉我说星期五面试的时候刚好被问到 Git,幸好在这几天学了一下。Git并不难,但会Gi...