【发布时间】:2018-08-15 01:59:04
【问题描述】:
我正在尝试使用 AJAX 更新 Django 上下文字典,以便在单击某个按钮时它可以在网页上显示不同的分配。我的视图基于用于请求页面的 GET 或 POST 方法创建不同的上下文字典。前者是默认设置,后者在用户单击按钮时发生。一切正常,AJAX 发送正确的数据,视图能够找到正确的对应分配。然而,我的问题是页面内容(django 模板代码)永远不会随着响应而改变更新。我做错了什么?
@login_required
def assignments(request):
terms = Course.objects.filter(students = request.user).values('term__season', 'term__year').distinct()
courses = Course.objects.filter(students = request.user)
assignments = Assignment.objects.filter(course__in=courses)
if request.method == 'POST':
# retrive ajax data
data = request.POST
course_subject = data['course_subject']
course_number = data['course_number']
course_section = data['course_section']
term_season = data['term_season']
term_year = data['term_year']
# get the associated course for the click
course = Course.objects.filter(subject = course_subject,
number = course_number,
section = course_section,
term__year = term_year,
term__season = term_season)
# get the assignments associated with that course
assignments = Assignment.objects.filter(course = course)
context_dict = {
'assignments': assignments,
'courses': courses,
'terms': terms,
}
return render(request, 'mainapp/assignments.html', context_dict)
【问题讨论】:
标签: ajax django http django-templates django-views