django 读取图片到页面实例

yizhihongxing

下面是详细的“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日

相关文章

  • Django+Vue打造购物网站(三)

    商品列表页 通过商品列表页面来学习drf django的view实现商品列表页 在goods目录下新建一个views_base.py文件,用来区分drf的view和Dajngo自带的view的区别利用Django的view实现返回json数据 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 20…

    2023年4月9日
    00
  • django中iframe请求报错的问题

    view.py与urls.py中的请求方法配置好了之后,在iframe调用,报如下错误: Refused to display ‘http://localhost:8000/welcome’ in a frame because it set ‘X-Frame-Options’ to ‘deny’. 解决办法: 在setting.py中加上: X_FRAME…

    Django 2023年4月11日
    00
  • Django-用户权限,用户角色使用指南(转载)

      向前冲我在路上 关注  0.1 2018.09.20 19:54 字数 1253 阅读 1124评论 0喜欢 8 前言(借鉴老师笔记) RBAC(Role-Based Access Control,基于角色的访问控制)就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这…

    Django 2023年4月12日
    00
  • windows下简单部署django+vue项目(打包后)

      使用场景: 1. 自己公司内部用,没准备linux时候。 2. 不用nginx,不用uwsgi,不用node部署vue   实现思路: vue代码打包后,生成html、css、js文件,  css、js等把他搞到django的static目录下,index.html搞到template目录下,之后访问任意路由先做api和static匹配,最后没有选择了直…

    Django 2023年4月11日
    00
  • Django框架之django admin的命令行详解

    Django框架之django admin的命令行详解 Django框架内置了一个功能强大的管理后台django admin,可以通过命令行对其进行配置和管理。 配置命令 createsuperuser 该命令用于创建超级管理员用户,语法如下: python manage.py createsuperuser changepassword 该命令用于修改用户…

    Django 2023年5月16日
    00
  • django虚拟环境(virtualenv)的创建

    下面是创建django虚拟环境的完整攻略: 什么是虚拟环境? 虚拟环境可以简单理解为隔绝开的一个Python环境,可以给一个项目单独创建一个Python环境,这对于不同的Python项目开发来说,非常有用。一个项目单独创建一个虚拟环境,不会与其他项目的环境冲突。 创建虚拟环境步骤 1. 安装virtualenv pip3 install virtualenv…

    Django 2023年5月16日
    00
  • Django中的Request和Response

    接触Django这么久了,从来没有好好学习关于Django中的Request和Response对象。借着文件上传下载的相关工作,现在总结一下也不错。当一个页面请求过来,Django会自动创建一个Request对象,匹配URLconf中对应的view方法,并将这个Request对象作为第一个参数传递给view方法。而view方法会经过一系列操作之后,返回一个R…

    Django 2023年4月13日
    00
  • django前端到后端一次简单完整的请求实例

      请求过程: 用户请求—〉django的路由系统—〉根据url不同分发到不同的views函数做对应处理—-〉返回html格式的字符串(需要动态请求的到数据库里面拿到数据迁入到html文件中)   一、django项目初始化 二、配置数据库,生成数据     三、配置url.py文件   四、配置views视图函数:   五、编程html文件: …

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