我在django中创建了2个视图,即
def next_qn_url(request):
test_result1 = 'questionansewrchoice'
return JsonResponse({'test_result':test_result1})
def last_qn_url(request):
test_result2 = 'questionansewrchoice'
return JsonResponse({'test_result':test_result2})
def test(request):
test = 'testchoice'
return render(request, 'ap/test.html', {})
我也在urls.py
中注册了这些观点urlpatterns = [
url(r'^test/$', views.test, name='test'),
url(r'^next_qn_url/$', views.test, name='next_qn_url'),
url(r'^last_qn_url/$', views.test, name='last_qn_url'),
url(r'.*', views.home, name='home'),
]
我将测试页面中的数据发送到其他2个视图,并尝试获取他们的json响应并在jquery getJSON函数的帮助下更新我的测试页面。
$.getJSON('/next_qn_url/', selected_qn_ans, function(data) {
console.log(data);
});
$.getJSON('/last_qn_url/', selected_qn_ans, function(data) {
console.log(data);
});
我只是在这里给出一份草稿。但是在jsonresponse中,我一次又一次地获得整个测试页面的所有HTML但不是json。这不是正确的方法或指导我完成这个过程。感谢
答案 0 :(得分:2)
我不确定你的网址是否正确。前3点指向相同的views.test Django视图,这可以解释为什么你连续得到测试html。根据我的理解,在getJSON函数中调用url的名称与调用碰巧具有“类似名称”的视图不同。 getJSON中的第一个参数是url名称,而不是视图名称。
我会尝试以下修改,看看第二个&第三个网址:
urlpatterns = [
url(r'^test/$', views.test, name='test'),
url(r'^next_qn_url/$', views.next_qn_url, name='next_qn_url'),
url(r'^last_qn_url/$', views.last_qn_url, name='last_qn_url'),
url(r'.*', views.home, name='home'),
]
希望它有效。