什么是龙卷风在django中“写”的替代解决方案?

时间:2013-01-28 08:24:08

标签: python django web tornado

我正在使用django 1.4。我正在将代码从龙卷风转移到django。 self.write()末尾有class。什么是self.write()的替代解决方案?HttpResponse?只有一个模板页面 所以我需要回复其他页面吗?我可以再次将响应?或render_to_response调用到模板页面以将数据擦除到页面? write()HttpResponse()相同吗? 大家好。有许多 ”?”以上,但我只有一个问题。 django中龙卷风的“写()”的替代解决方案。 你的时间。

龙卷风中的代码如下:

class DataHandler(tornado.web.RequestHandler):
    ...
    val = ...
    self.write(val)

也许在django?

def DataHandler(request):
    ...
    val = ...
    return HttpResponse(val)

我的问题清楚了吗?

2 个答案:

答案 0 :(得分:1)

如果您希望返回非模板响应,通常会使用

HttpResponse

要呈现模板,请使用render中的django.shortcuts,例如:

from django.shortcuts import render

def some_handler(request):
    context_for_template = {}
    return render(request, 'template_name.html', context_for_template)

从Tornado的文档中,write似乎能够自动将字典转换为JSON。默认情况下,HttpResponse不会这样做,如果它是您的用例的一部分,您应该查看Creating a JSON response using Django and Python

答案 1 :(得分:1)

HttpResponse模块

from django.http import HttpResponse

def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)