Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将$http与django urlpatterns一起使用以获取json文件_Javascript_Python_Json_Django_Angularjs - Fatal编程技术网

Javascript 将$http与django urlpatterns一起使用以获取json文件

Javascript 将$http与django urlpatterns一起使用以获取json文件,javascript,python,json,django,angularjs,Javascript,Python,Json,Django,Angularjs,我试图做的是向DjangoURL模式发送$HTTPGET请求并返回一个.json文件。我可以使用urlpatterns返回文件而不是视图吗 这可能吗 当前表单/数据返回500 testModule.js angular.module('mod1', ['mod2']) .controller('resorcesCtrl', ['mod2Factory', function(mod2Factory) { mod2Factory.getJSON(); } ]);

我试图做的是向DjangoURL模式发送$HTTPGET请求并返回一个.json文件。我可以使用urlpatterns返回文件而不是视图吗

这可能吗

当前表单/数据返回500

testModule.js

angular.module('mod1', ['mod2'])

.controller('resorcesCtrl', ['mod2Factory',
     function(mod2Factory) {
        mod2Factory.getJSON();
     }
]);


angular.module('mod2', [])
   .factory('mod2Factory', [ '$http',
      function($http) {

        var getJSON = function() {
           return $http({
           url: "/form/data",
           method: "GET"
        })
      }

      return {
         getJSON:getJSON
      }; 
    }
  ])
url.py

url(r'^form/data', 'myApp.views.getJSON', name='getJSON'),
views.py

def getJSON(request):
    context = {
        "json": json
    }
    return render(request, '', context)

从Django 1.7开始,有一个新的响应对象,名为

您的视图可以简单到:

from django.http import JsonResponse

def getJSON(request):
    # context is a Python dict.
    context = {
        "key": "value",
        "other_key": 365,
    }
    return JsonResponse(context)

上下文
必须是有效的JSON可序列化对象。有关
JsonResponse
的更多详细信息,请参阅。如果序列化有任何问题,可以将自己的编码器传递到
JsonResponse
来处理自定义数据类型。

我更喜欢使用这样的函数

import json
from django.http import HttpResponse

def json_responder(**kwargs):
    return HttpResponse(json.dumps(kwargs), content_type="application/json")

def yourview(request):
    return json_responder(type='error', msg='a message")

这可以在每个django版本上使用

500错误的内容是什么?你能把它和stacktrace放在一起吗?哪个版本的Django?