Python 是否可以在没有上下文的情况下返回render()?
我有一个Django模板,我正在呈现,但是,我不需要给它一个上下文,我在模板中不使用任何变量 如果渲染/返回函数如下所示,可以吗:Python 是否可以在没有上下文的情况下返回render()?,python,django,django-views,Python,Django,Django Views,我有一个Django模板,我正在呈现,但是,我不需要给它一个上下文,我在模板中不使用任何变量 如果渲染/返回函数如下所示,可以吗: return render(request, 'shipment/createAccount.html') 这段代码在功能上是有效的,但我想确保没有更好的方法来处理这种情况。这很好,但是render\u to\u响应是更短、更普通的版本。这里没有太多的神奇之处——请参阅django中的实际代码 主要的替代方法是,如果不需要视图逻辑/auth,则可以将其视为
return render(request, 'shipment/createAccount.html')
这段代码在功能上是有效的,但我想确保没有更好的方法来处理这种情况。这很好,但是render\u to\u响应是更短、更普通的版本。这里没有太多的神奇之处——请参阅django中的实际代码
主要的替代方法是,如果不需要视图逻辑/auth,则可以将其视为静态文件 这很好,但是render\u to\u响应是更短、更普通的版本。这里没有太多的神奇之处——请参阅django中的实际代码
主要的替代方法是,如果不需要视图逻辑/auth,则可以将其视为静态文件 这完全可以。如果我们检查render的声明,就会看到它返回
return HttpResponse(loader.render_to_string(*args, **kwargs),
**httpresponse_kwargs)
然后,我们检查render_to_string的定义:
因此,显然,不提供上下文词典是可以的。可以肯定的是,我们检查了当dictionary=None时上下文如何处理情况:
…这越来越深了!我们检查了Context的基类BaseContext,发现它能很好地处理这种情况:
def __init__(self, dict_=None):
self._reset_dicts(dict_)
def _reset_dicts(self, value=None):
builtins = {'True': True, 'False': False, 'None': None}
self.dicts = [builtins]
if value is not None:
self.dicts.append(value)
这完全可以。如果我们检查render的声明,就会看到它返回
return HttpResponse(loader.render_to_string(*args, **kwargs),
**httpresponse_kwargs)
然后,我们检查render_to_string的定义:
因此,显然,不提供上下文词典是可以的。可以肯定的是,我们检查了当dictionary=None时上下文如何处理情况:
…这越来越深了!我们检查了Context的基类BaseContext,发现它能很好地处理这种情况:
def __init__(self, dict_=None):
self._reset_dicts(dict_)
def _reset_dicts(self, value=None):
builtins = {'True': True, 'False': False, 'None': None}
self.dicts = [builtins]
if value is not None:
self.dicts.append(value)