社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

在Django模板上显示来自其他网站的图像

Anonymous • 4 年前 • 629 次点击  

两天来我一直在想一个问题,但还是没有找到解决办法。 问题是,我有一个网址,例如“www.something.org/abc/xyz/”。在这个网站上有一个网址列表,其中包含一些JPG格式的图片。这些网址类似于“2019仈01仈03仈11仈12仈..>”,当我单击它时,它会打开为“www.something.org/abc/xyz/2019仈01仈12仈648626仈155仈72_.jpg”。我还希望将这些图像名称值分别存储在数据库模型中,其中包含FacultyID、CourseID、Datetime等字段。映像必须存储在服务器或其他位置。现在我要做的是,我必须在我的Django模板上显示这些来自网站的图片。为此,我尝试了几种方法。首先,我试图废弃这个网站的数据,并将其存储在本地机器上的文本文件中。但在那之后,我不知道如何使用这些数据来显示图像。

现在请帮助我在Django-Python中找到解决此问题的正确方法。忘了我的方法,给我一些能实现结果的建议。

我在等答案。请帮忙把我弄出来。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50621
 
629 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Raphael Schubert
Reply   •   1 楼
Raphael Schubert    5 年前

考虑到你可能已经读过Django基础教程,我不会解释所有的基础知识。。。如果您只需要解析这些信息并在视图上显示,您将需要Django布局教程的基础知识。。。为了简洁起见,我不会解释所有的事情。。。

如果您还没有阅读,请阅读本关于Django docs的教程: Writing your first Django app

但你需要这样做:

def my_view(request):
    return render("my_view_name.html", {
        "images":[... array of images ...]
    })

在视图中执行以下操作:

{% for each image on images %}
    {{ image.url }}
{% end foreach %}

教程的这一部分非常简单。

关于解析URL以提取信息,可以使用如下函数:

import datetime

image_url = "https://www.myawesome.url/2019_01_03_11_12_12_648626_155_72_6372_6835.jpg"

def extract_infos(url):

  __cleaned_url = url.replace("https://www.myawesome.url/", "").replace(".jpg", "")
  __infos = __cleaned_url.split('_')
  return {
    "datetime": datetime.datetime.strptime(
      "{}-{}-{} {}:{}:{}".format(
        __infos[0], __infos[1], __infos[2], __infos[3], __infos[4], __infos[5]
        ), "%Y-%m-%d %H:%M:%S"),
    "id": __infos[6],
    "extra": [__infos[7], __infos[8], __infos[9], __infos[10]]
  }

print(extract_infos(image_url))
# will print this
# {'datetime': datetime.datetime(2019, 1, 3, 11, 12, 12), 'id': '648626', 'extra': ['155', '72', '6372', '6835']}

使用这个函数,现在,您可以创建Django模型并保存它。。。由于我不知道每个数字是什么,我创建了一个称为 id extra 用其他数字组成一个小数组。。。但是你可以重写函数 extract_infos 返回一个数组。