考虑到你可能已经读过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
返回一个数组。