我正在用Django做一个类似调度的应用。我有 fullcalendar-django
库,并使用JavaScript做了一些修改。但后来我遇到了一个问题。这是我的views.py
from .models import NewEvent
def ScheduleMain(request):
allDays = NewEvent.objects.all()
return render(request, 'main.html', {'allDays':allDays}
假设在我的模型中有两个字段。NewEvent
- date(DateField)和event(CharField)。 这是我模板中的标签。
{% block extrahead %}
<script>
$(document).ready(function() {
for (each in allDays) {
$(function() {
if ($('.fc-day').attr('data-date') == "{{each.date}}") {
$('.fc-day .fc-day-content').html("{{each.event}}")
}
});
}
});
</script>
{% endblock %}
{% block content %}
...
{% calendar %}
...
{% endblock %}
所以在 {% calendar %}
,每个日期都是这样写的。
...
<td class="fc-day" data-date="2020-05-17">
<div class="fc-day-content">today schedule comes here</div>
</td>
<td class="fc-day" data-date="2020-05-18">
<div class="fc-day-content">today schedule comes here</div>
</td>
...
如你所见,我是想在 "今天的日程表来了 "中填入用户输入的任何事件。当然,由于模板是预先设计好的,我不能直接对它进行修改。所以我试图用JavaScript来解决。而我们现在就说每天只能有一个事件。 我做错了什么?先谢谢你:)
用django模板语言写for循环,而不是javascript。
{% block extrahead %}
<script>
$(document).ready(function() {
{% for day in allDays %}
$(function() {
if ($('.fc-day').attr('data-date') == "{{day.date}}") {
$('.fc-day .fc-day-content').html("{{day.event}}")
}
});
{% endfor %}
});
</script>
{% endblock %}