有可能吗? 我试过了:
def jsonview(request):
context = {}
context['date'] = datetime.now()
return render(request, "json.html", context, content_type="application/json")
json.html文件:
{% load i18n %}
'{"date": "{{ date|escapejs }}", "test": "hello"}'
回复是:
'\n\n{"date": "2014\u002D11\u002D13 11:58:31.635102", "test": "hello"}'
所以错误是:
SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data
答案 0 :(得分:2)
简单的方法是首先将模板中的数据渲染为字符串,并将其作为json响应,如下面的示例代码所示。
from django.template.loader import render_to_string
from django.http import HttpResponse
def jsonview(request):
context = {}
context['data'] = render_to_string("json.html", {'date': datetime.now()})
return HttpResponse(json.dumps(context), content_type="application/json")
答案 1 :(得分:0)
你应该使用Django templatetags。您可以创建自己的custom template tag或使用built-in ones
在这种情况下,您可以在json.html文件中使用templatetag now
:
{% now "SHORT_DATETIME_FORMAT" %}