icn*_*icn 4 django django-templates
有没有办法可以通过django HttpResponse传递json格式的数据.我试图通过原型ajax调用视图并返回json格式数据.
谢谢
Lom*_*mbo 14
您可以在app views.py中执行类似的操作
import json
def ajax_handler(req, your_parameter):
json_response = json.dumps(convert_data_to_json)
return HttpResponse(json_response,mimetype='application/json')
Run Code Online (Sandbox Code Playgroud)
基于Lombo的答案,您可能想要使用该request.is_ajax()方法.这将检查HTTP_X_REQUESTED_WITH标头是否为XmlHttpRequest.
这是一种避免向常规GET发送json响应的好方法 - 我认为最糟糕的情况是让用户感到困惑,但也允许你对ajax与非ajax请求使用相同的视图.这种方法可以更轻松地构建优雅降级的应用程序.
例如:
def your_view(request):
data_dict = # get some data
if request.is_ajax():
# return json data for ajax request
return HttpResponse(json.dumps(data_dict),mimetype='application/json')
# return a new page otherwise
return render_to_response("your_template.html", data_dict)
Run Code Online (Sandbox Code Playgroud)
这种方法对于表单处理也特别有效.
| 归档时间: |
|
| 查看次数: |
3070 次 |
| 最近记录: |