我为django应用程序创建了一个HTML日历。但是,当我将它添加到我的模板之一时,它会将它添加到我的页脚下面。我不明白为什么会发生这种事。
{% extends "bf_app/app_bases/app_base.html" %}
{% block main %}
{% include "bf_app/overviews/overview_nav.html" %}
<div class="flex justify-between mx-10">
<a href="{% url 'calendar_overview_context' previous_year previous_month %}">< {{ previous_month_name }}</a>
<a href="{% url 'calendar_overview_context' next_year next_month %}">{{ next_month_name }} ></a>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 px-4">
<table>
<thead>
<tr>
<th class="text-left">Transaction</th>
<th class="text-left">Amount</th>
<th class="text-left">Date</th>
</tr>
</thead>
{% for transaction, tally in monthly_budget.items %}
<tr>
<td>{{ transaction }}</td>
<td class="{% if tally|last == "IN" %}text-green-700{% else %}text-red-700{% endif %}">
{{ tally|first|floatformat:2 }}
</td>
<td>{{ transaction.next_date|date:"D, d M, Y" }}</td>
</tr>
{% endfor %}
</table>
</div>
<div>
{{ calendar }}
</div>
{% endblock %}我基本上遵循了本教程:https://www.huiwenteo.com/normal/2018/07/24/django-calendar.html
我遗漏了什么吗?据我理解,这应该高于页脚,就像我创建的其他所有东西一样。
编辑:
它似乎是导致问题的"mark_safe“模块。我尝试过使用{{ calendar|safe }},这也造成了同样的问题。
带着保险箱

没有安全

发布于 2022-11-24 21:02:17
我也遇到了同样的问题,使用huiwenteo日历教程。
这种奇怪的行为是使Calendar类更具体,更具体的是formatmonth方法。因为它返回日历表,而不关闭html标记。因此,在cal/utils.py文件中,在返回日历之前,应该将cal += f'</table>\n'添加到formatmonth方法中。
这是一个对我有用的例子。
def formatmonth(self, ....):
events = Event.objects.filter(....)
cal = f'<table border="0" cellpadding="0" cellspacing="0" class="calendar">\n'
cal += f'{self.formatmonthname(self.year, self.month, withyear=withyear)}\n'
cal += f'{self.formatweekheader()}\n'
for week in self.monthdays2calendar(self.year, self.month):
cal += f'{self.formatweek(week, events)}\n'
cal += f'</table>\n'
return calhttps://stackoverflow.com/questions/73341019
复制相似问题