django 读取图片到页面实例

下面是详细的“Django 读取图片到页面实例”的攻略,包含两个示例说明。

1. 示例1:读取静态文件夹中的图片到页面

  1. 在 Django 项目的 settings.py 中添加以下设置,指定项目中的静态文件夹路径:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]

其中 os.path.join(BASE_DIR, "static") 表示将 static 文件夹作为静态文件夹并引入到 Django 项目中。

  1. views.py 中编写视图函数,代码如下:
from django.shortcuts import render

def index(request):
    context = {'image_path': 'images/sample.png'}
    return render(request, 'index.html', context)

其中,context 字典将图片路径 images/sample.png 作为值传递给模板,供模板渲染页面使用。render 函数将 context 字典和模板 index.html 传递给客户端。

  1. 在项目的 templates 文件夹中,在 index.html 模板文件中添加以下代码,在页面中显示图片:
<img src="{{ STATIC_URL }}{{ image_path }}" alt="Sample Image">

其中 {{ STATIC_URL }} 表示静态文件夹的 URL,{{ image_path }} 表示图片路径,用于生成图片的 URL。

  1. 运行 Django 项目并访问 localhost:8000,即可在页面上看到图片。

2. 示例2:将图片上传到 Django 服务器并从数据库中读取

  1. 在 Django 项目的 settings.py 中添加以下设置,指定项目中的媒体文件夹路径:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')

其中 os.path.join(BASE_DIR, 'media/') 表示将 media 文件夹作为媒体文件夹并引入到 Django 项目中。

  1. models.py 中定义图片模型,代码如下:
from django.db import models

class ImageModel(models.Model):
    title = models.CharField(max_length=100, blank=True, default='')
    img = models.ImageField(upload_to='images/')

其中 upload_to='images/' 表示将图片文件上传到 media/images 目录中。

  1. views.py 中编写视图函数,代码如下:
from django.shortcuts import render
from .models import ImageModel

def index(request):
    img_obj = ImageModel.objects.get(pk=1)
    context = {'image_path': img_obj.img.url}
    return render(request, 'index.html', context)

其中 ImageModel.objects.get(pk=1) 表示从数据库中获取 id 为 1 的图片。context 字典将图片 URL 作为值传递给模板,供模板渲染页面使用。render 函数将 context 字典和模板 index.html 传递给客户端。

  1. 在项目的 templates 文件夹中,在 index.html 模板文件中添加以下代码,在页面中显示图片:
<img src="{{ image_path }}" alt="Sample Image">

其中 {{ image_path }} 表示图片 URL,用于生成图片的 URL。

  1. 运行 Django 项目并访问 localhost:8000,即可在页面上看到图片。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django 读取图片到页面实例 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django2.1.3 中间件使用详解

    下面我将针对“Django2.1.3 中间件使用详解”的完整攻略进行详细讲解,包括中间件的概念、使用方法以及两个示例说明。 概念 在Django中,中间件(Middleware)是一种用于处理请求和响应的工具,类似于拦截器。它可以在接受请求和响应之前或之后执行某些操作,例如处理请求头、检查cookie等。中间件是Django框架中非常强大的一部分,使用它可以…

    Django 2023年5月16日
    00
  • 详解Django通用视图中的函数包装

    我们将详细讲解“详解Django通用视图中的函数包装”的完整攻略,并且提供两个示例说明。 1. 什么是Django通用视图? Django通用视图是一组预定义的视图,可以轻松地编写Web应用程序。它们消除了常见的开发任务,例如分页、查询集管理、表单处理等。Django通用视图是基于类的视图,它们提供了一种更为组合、更具可重用性和可扩展性的方式来编写视图。 2…

    Django 2023年5月16日
    00
  • DRF (Django REST framework) 框架介绍(3)

    1. Request REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。 REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSO…

    Django 2023年4月10日
    00
  • Django框架搭建web项目(二)

    1.在路径XXXXX\mydjango\mydjango\mydjango下新建views.py(在浏览器中url请求后所展示的内容设置) from django.http import HttpResponse def hello(request): return HttpResponse(“Hello world ! “) 2.绑定url与视图函数,在路…

    Django 2023年4月10日
    00
  • Python Django请求和响应对象详解

    Python Django请求和响应对象详解 Django是目前非常流行的 Python Web 框架,其中请求和响应对象是开发中经常使用的对象。了解这两个对象的属性和用法可以帮助我们更好地理解Django的工作原理。 请求对象(HttpRequest) HttpRequest是Django中最重要的对象之一,用于封装来自客户端的HTTP请求。该对象包含了H…

    Django 2023年5月16日
    00
  • Django框架之drf:9、接口文档,coreapi的使用,JWT原理、介绍、快速使用、定制、认证

    目录 Django框架之drf 一、接口文档 二、CoreAPI文档生成器 1、使用方法 三、JWT 1、JWT原理及介绍 2、JWP快速使用 3、定制返回格式 4、JTW的认证类 Django框架之drf 一、接口文档 简介: ​ 接口文档通常是在前后端分离时,后端开发人员需要编写的文档,其内容是将接口的信息、地址和使用方法及其他注意事项告知前端开发人员及…

    2023年4月10日
    00
  • 【开源】最近写了一个简单的网址导航网站

    前言 随着团队的成长,要管理的项目或使用的内部系统越来越多,很多内部系统都没有域名,使用IP+端口,很难记。 为了解决这个痛点,我抽空写了个导航网站~ 目前用下来效果还不错,可以基本完美的解决这个问题。 项目名称是 SiteDirectory ,代码在 Github 开源了: https://github.com/Deali-Axy/SiteDirector…

    2023年4月10日
    00
  • 14.django返回展示一张图片

    urlpatterns = [ path(‘admin/’, admin.site.urls), # 使用django返回一张土图片的时候需要间接的访问一个中间接口,是html页面的中的img的src自己去请求服务器的后台的一个接口,这个时候就需要用到模板自己的反向解析了 url(“^go_html/$”, views.go_html), url(“^sho…

    Django 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部