我使用django Web框架创建日历网页。我在页面上有几个按钮a' Next'和'以前'我希望在视图上更改某些内容的值的按钮。
值的变化取决于页面上当前的内容,因此我使用ajax从页面获取一些信息并将其发送到视图。以下是观点:
def holiday(request):
if request.is_ajax():
# find out if next or previous has been clicked
request_type = request.GET['type']
if request_type == "next":
response_data = {}
# calculate new month and year based off current month and year from view
year = a_new_year
month = a_new_month
if request_type == "previous":
#same again
else:
# page loaded for first time use current date
date_today = datetime.now()
year = date_today.year
month = date_today.month
my_holidays = Holiday.objects.order_by('start_date').filter(
Q(start_date__year=year, start_date__month=month) | Q(end_date__year=year, end_date__month=month)
)
cal = HolidayCalendar(my_holidays, request.user).formatmonth(year, month)
context = {
"calendar": mark_safe(cal),
}
return render(request, "tande/calendar.html", context)
然后我有这个ajax
$('#next').click(function() {
$.ajax({
url: "{% url 'tande:holiday' %}",
method: 'GET',
data: {
current: $('th.month').html(),
type: "next"
},
success : function (json) {
console.log("hello");
}
});
});
基本上,这不起作用,因为这里的响应只是页面的html。
如何运行视图 1)来自模板的信息 - 它是表头的内容 2)我按下了什么按钮的信息 - 我需要按钮的ID
并让它渲染?
答案 0 :(得分:-1)
您无法仅使用Django动态更改HTML中的内容。您需要使用JavaScript。您可以使用django-serializer来管理数据,然后对前端进行后期处理。
OR