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

yipeiwu_com7年前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中的赋值和深浅拷贝

浅析Python中的赋值和深浅拷贝

python中,A object  = B object  是一种赋值操作,赋的值不是一个对象在内存中的空间,而只是这个对象在内存中的位置 。 此时当B对象里面的内...

2019 Python最新面试题及答案16道题

1.Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对...

Python匹配中文的正则表达式

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供...

Python利用字典将两个通讯录文本合并为一个文本实例

Python利用字典将两个通讯录文本合并为一个文本实例

本文实例主要实现的是利用字典将两个通讯录文本合并为一个文本,具体代码如下: def main(): ftele1=open("d:\TeleAddressBook.txt","r...

Python xlrd读取excel日期类型的2种方法

有个excle表格需要做一些过滤然后写入数据库中,但是日期类型的cell取出来是个数字,于是查询了下解决的办法。 基本的代码结构 复制代码 代码如下: data = xlrd.open_...