在模板(Django)中实现归档日历时出现 IF 运算符错误
Posted
技术标签:
【中文标题】在模板(Django)中实现归档日历时出现 IF 运算符错误【英文标题】:IF -operator error when implementing archive calendar in template (Django) 【发布时间】:2015-05-27 16:24:34 【问题描述】:我正在尝试使用日历月实现存档,但我不确定如何在我的模板中实现它并且我遇到了操作错误;错误信息;没有这样的功能:IF。非常感谢任何帮助。
def view_calendar(request):
date_from='2015-05-01'
date_to='2015-05-31'
year=2015
month=5
where = '%(year)s >= YEAR(date_from) AND IF(%(year)s > YEAR(date_from), \
IF(%(month)s > MONTH(date_from), %(month)s >= MONTH(date_from), %(month)s < MONTH(date_from)), \
IF(%(month)s < MONTH(date_from), %(month)s < MONTH(date_from), %(month)s >= MONTH(date_from))) \
AND %(year)s <= YEAR(date_to) \
AND %(month)s <= MONTH(date_to)' % \
'year': year, 'month': month
calender = Topic.objects.extra(where=[where])
print may, "M"
return render(request,"topic_index_fe.html", 'calender': calender)
在模板中
<div class="col-sm-3 col-sm-offset-1 blog-sidebar">
<div class="sidebar-module">
<h3>Archive</h3>
<ol class="list-unstyled">
#print calender
calender
<li><a href="#">May 2015 </a></li>
<li><a href="#">April 2015</a></li>
<li><a href="#">March 2015</a></li>
</ol>
</div>
<div class="sidebar-module">
</div>
</div><!-- /.blog-sidebar -->
【问题讨论】:
【参考方案1】:由于您要指定 SQL WHERE
子句,因此您需要编写有效的 SQL。标准 SQL 中没有 IF
语句,因此出现错误。您可能想查看 SQL CASE
语句。
我真的无法告诉您使用所有这些 IF
语句要达到什么目的,您能否解释一下 WHERE
子句试图达到什么目的?
【讨论】:
我正在关注这篇 SO 帖子中的答案; ***.com/questions/30488105/…,还有其他方法可以实现吗? 老实说,我也没有,我尝试过这种实现,但只使用 AND 语句就足够了吗?以上是关于在模板(Django)中实现归档日历时出现 IF 运算符错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在flutter中实现日历功能,以便在DateTimePickerFormField中显示当前日期之后的日期,直到2天之后