【问题标题】:How to fetch json response from another url in django?如何从 django 中的另一个 url 获取 json 响应?
【发布时间】:2017-01-20 03:42:20
【问题描述】:

我在 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 获得整个测试页面。这是不是正确的方法或指导我完成这个过程。谢谢

【问题讨论】:

  • 在python中定义变量不需要var,在python的行尾不需要;
  • 你使用哪个版本的 Django?
  • 使用 django 1.9.5

标签: jquery python json ajax django


【解决方案1】:

我不确定您的网址是否正确。前 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'),    
]

希望它有效。

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2016-04-06
    相关资源
    最近更新 更多