django 实现将本地图片存入数据库,并能显示在web上的示例

 更新时间:2019年08月07日 13:37:53   作者:竦貊  
今天小编就为大家分享一篇django 实现将本地图片存入数据库,并能显示在web上的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1. 将图片存入数据库

关于数据库基本操作的学习,请参见这一篇文章:https://www.jb51.net/article/167141.htm

这里我默认,您已经会了基本操作,能在数据库中存图片了,然后,也会用图形界面操作数据库中的数据了

2.这里,我先给出我的代码,能少走些弯路就少走些

a) 项目的urls.py

from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
  path('admin/', admin.site.urls),
]+static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

+号后面的一定要写,如果想出来结果的话!否则回报一个 404 的错误

- b) 应用里的models.py

from django.db import models

# Create your models here.
class Person(models.Model):
  name = models.CharField(max_length=30)
  age = models.IntegerField()

  def __unicode__(self):
  # 在Python3中使用 def __str__(self):
    return self.name

class IMG(models.Model):
  img = models.ImageField(upload_to='img')
  name = models.CharField(max_length=20)
  def __str__(self):
  # 在Python3中使用 def __str__(self):
    return self.name  

之后,你要会把IMG这个模式推送到数据库。

python ./manage.py makemigrations
python ./manage.py migrate  

c) 应用的views.py

# Create your views here.
def hello(request):
  IMG.objects.filter(name='bg')
  img = IMG.objects.all()
  return render(request, 'Welcome.html',{'img':img})

把img这个参数传过去,传到Welcome.html

- d) Welcome.html

<!DOCTYPE HTML>
<html>

<head>
  <title> welcome </title>
</head>
<body >
    {% for i in img %}
    <img src="{{MEDIA_URL}}{{i.img}}">
    {% endfor %}

</body> 
</html>

e) 设置setting.py

TEMPLATES = [
  {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [],
    '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',
      ],
    },
  },
]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

注意,东西都是配套使用的,如果e中的路径要变的话,a总的+号后面的也要跟着变化

3. 在http://127.0.0.1:8000/admin/网址上面,上传你的图片

以上这篇django 实现将本地图片存入数据库,并能显示在web上的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Python中字符串前“b”,“r”,“u”,“f”的作用

    详解Python中字符串前“b”,“r”,“u”,“f”的作用

    这篇文章主要介绍了Python中字符串前“b”,“r”,“u”,“f”的作用,感兴趣的朋友跟随小编一起看看吧
    2019-12-12
  • django中操作mysql数据库的方法

    django中操作mysql数据库的方法

    对象关系映射模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,这篇文章主要介绍了django中操作mysql数据库的方法,需要的朋友可以参考下
    2022-09-09
  • PyQt5 实现百度图片下载器GUI界面

    PyQt5 实现百度图片下载器GUI界面

    本文主要介绍了通过 Pyqt5 实现一个界面化的下载器,在通过网络请求实现各种类型的图片的下载。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2021-12-12
  • 详解Python中第三方库Faker

    详解Python中第三方库Faker

    这篇文章主要介绍了Python中第三方库-Faker的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • python daemon守护进程实现

    python daemon守护进程实现

    这篇文章主要介绍了python daemon守护进程实现,需要的朋友可以参考下
    2016-08-08
  • Selenium控制浏览器常见操作示例

    Selenium控制浏览器常见操作示例

    这篇文章主要介绍了Selenium控制浏览器常见操作,结合实例形式分析了Selenium针对浏览器的窗口大小控制、前进、后退、刷新、截屏等相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • python logging 重复写日志问题解决办法详解

    python logging 重复写日志问题解决办法详解

    这篇文章主要介绍了python logging 重复写日志问题解决办法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • python获取全国城市pm2.5、臭氧等空气质量过程解析

    python获取全国城市pm2.5、臭氧等空气质量过程解析

    这篇文章主要介绍了python获取全国城市pm2.5、臭氧等空气质量过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python numpy中multiply与*及matul 的区别说明

    python numpy中multiply与*及matul 的区别说明

    这篇文章主要介绍了python numpy中multiply与*及matul 的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python实现停车管理系统

    python实现停车管理系统

    这篇文章主要为大家详细介绍了python实现停车管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11

最新评论