python - 在 Django 中为新内容显示 SVG
问题描述
我想为过去 2 天内创建的任何新内容显示 SVG。我只是想知道我该怎么做。
视图.py:
def short_story_list(request):
shorts = models.Short.objects.filter(is_live=True).order_by('-created_at')
return render(request, 'stories/short_story_list.html', {'shorts': shorts})
short_story_list.html:
{% for short in shorts %}
<div class="block">
<h3><a href="{% url 'short-detail' short.slug %}">{{ short.title }}</a></h3>
{% if short.created_at %}
<img src="{% static 'svg/outline-fiber_new-24px.svg' %}">
{% endif %}
<br>
</div>
{% endfor %}
如何确保只显示 SVG?
解决方案
from datetime import datetime
today = datetime.date.today()
date_2_back = today - datetime.timedelta(days=2)
shorts_latest = models.Short.objects.filter(start_time__lt=today, end_time__gt=date_2_back)
timedelta()
如果您只想要shorts
最后 2 天,您可以使用。
或者,您可以在模型中添加一个函数,true
如果created_at
两个日期之间则返回:
def latest_condition(self):
if self.created_at - datetime.date.today() <= datetime.timedelta(days=2):
return True
else:
return False
推荐阅读
- python - 无法使用 pyautogui 最大化缩放应用程序
- c++ - 我的代码在查找最大双音子数组的长度时有什么问题
- postgresql - Postgres 无法识别已创建的用户
- javascript - 将键值对分解为具有相同键的单独对象
- git - Heroku 构建成功但有应用程序错误
- postgresql - postgresql,占用内存大,进程多
- node.js - 为什么我的 lambda 无法识别 node_modules 中的依赖关系?
- fp-ts - fp-ts:过滤掉某些左边的值,右边的错误
- python - 使用 And Or 在 Dataframe 中使用 str.contains 搜索多个条件以填充稀疏结果
- python - 如何使用 python 列表更新 mysql 中的列?