因此,通用视图非常酷,但我感兴趣的是一个通用模板.
所以,例如,我可以给它一个对象,它只是为我提供它.
或者,如果我给它一个列表,它只会迭代对象并将它们串起来作为ul(或tr,或其他任何它认为必要的).
对于大多数用途,你不需要这个.我只是快速地为朋友扔了一些东西(一个酒吧股票应用程序,如果你必须知道),我不想写模板.
解决方法:
如果有一个django模型,你可以坚持使用django.contrib.admin或django.contrib.databrowse.如果没有,那么你可以通过完全跳过django模板来管理.例:
from django.http import HttpResponse
import datetime
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)
但是当然你想要避免写得那么多,所以我们可以使用纯文本和pprint模块来代替html.
from django.http import HttpResponse
import datetime
from pprint import pformat
def current_datetime(request):
now = datetime.datetime.now()
return HttpResponse(pformat(now), mimetype="text/plain")
编辑:嗯……这看起来像装饰者应该处理的东西:
from django.http import HttpResponse
import datetime
import pprint
def prettyprint(fun):
return lambda request:HttpResponse(
pprint.pformat(fun(request)), mimetype="text/plain")
@prettyprint
def current_datetime(request):
return datetime.datetime.now()