我在这里想知道自2天以来的一个问题,但仍然没有找到解决方案。 问题是,我有一个网站网址,例如“ www.something.org/abc/xyz/”。在此网站上有一个URL列表,其中包含一些JPG格式的图像。此URL例如,例如“ 2019_01_03_11_12_12 _ ..>”,当我单击它时,它将以“ www.something.org/abc/xyz/2019_01_03_11_12_12_648626_155_72_6372_6835.jpg”打开。我还想将这些图像名称值分别存储在具有某些字段(例如FacultyID,CourseID,Datetime等)的数据库模型中。图像必须存储在服务器或其他位置。现在我要做的是,必须在Django模板上显示网站上的这些图像。我尝试了几种方法来做到这一点。首先,我尝试删除此网站数据,并将其存储在本地计算机上的文本文件中。但是之后,我将了解如何使用这些数据来显示图像。
现在,请帮助我在Django-Python中找到解决此问题的正确方法。忘掉我的方法,并建议我一些可以完成结果的事情。
我正在等待答案。请帮助,让我摆脱困境。
答案 0 :(得分:0)
考虑到您可能已经阅读了Django基础教程,我不会解释所有基础知识...如果您只需要解析这些信息并显示在视图上,则将需要有关布局的Django基础知识...我为了简洁起见,不会解释所有事情。
如果您还没有阅读,请阅读有关Django文档的本教程: 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
以完全根据需要返回一个数组。