Javascript 将$http与django urlpatterns一起使用以获取json文件
我试图做的是向DjangoURL模式发送$HTTPGET请求并返回一个.json文件。我可以使用urlpatterns返回文件而不是视图吗 这可能吗 当前表单/数据返回500 testModule.jsJavascript 将$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(); } ]);
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?