我django
的应用程序index.html
页面使用 jquery fullcalendar ,由一个名为的 django 视图填充,该视图index()
用于simplejson
转储包含当前月份所有日期的事件的数组。该方法呈现index.html
模板。
我正在ajax get
单击日历prev button
调用另一个 django 视图prev_month()
。此方法计算上个月的事件数组并将其转储并最终呈现不同的模板'prev_month.html'
def prev_month(request,year,month):
....
prev_events=[]
#populates array by making db calls
return render_to_response('prev_month.html',{'prev_events':prev_events})
prev_month.html
...
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
events: {{prev_events|safe}}
});
$('.fc-button-prev').click(function(){
var d=$('#calendar').fullCalendar('getDate');
var month=d.getMonth()+1;
var year=d.getFullYear();
$.ajax({url:'/myapp/prev_month/'+year+'/'+month,type:"GET",
success:function(){
alert('prev_month.html::success');
},
});
});
</script>
该模板index.html
类似于上面的模板,除了显示成功警报。它还使用名为 django 的视图'index.html::success'
来填充日历。current_events
index()
django 视图是
def index(request):
...
#creates events array and jsondump
return render_to_response('index.html',{'current_events':events_array})
当我进入索引页面时,日历显示当月的所有事件。当点击 prev 按钮时,执行 django 视图 prev_month() 。但由于某种原因,呈现的模板是index.html
而不是 。prev_month.html
这可以从成功警报显示 index.html::success
代替 prev_month.html::success
因此,不会显示上个月的事件。
有人可以帮我弄清楚为什么会这样吗?