HTML中的空字符串呈现来自Django/Python的结果

Pet*_*sen 8 django

特定

siteInfo = \
{
    'appname3': 'MSQuantDynamics11',
    'siteBase': 'http://www.pil.sdu.dk/1',
}
Run Code Online (Sandbox Code Playgroud)

在"urls.py"文件中.

这按预期工作:

urlpatterns = patterns('',
    (r'^$',  direct_to_template,                         \
      {                                                  \
        'template'     : "homepage.html",                \
        'extra_context': { 'siteInfo': siteInfo },       \
      }
    ),
)
Run Code Online (Sandbox Code Playgroud)

为什么它不适用于以下情况?(homepage.html中"{{siteInfo.appname3}}"的结果变为emtpy:

urlpatterns = patterns('',
    (r'^$',  direct_to_template,                         \
      {                                                  \
        'template'     : "homepage.html",                \
        'extra_context': siteInfo,                       \
      }
    ),
)
Run Code Online (Sandbox Code Playgroud)

如果"siteInfo.appname3"更改为其他内容,它会工作吗?

Dom*_*ger 11

{{ appname3 }}而不是{{siteInfo.appname3}} .

因为键值对{{appname3}}可以在模板中直接访问,而不是通过访问{{ siteInfo.key }}.

在第一个例子,你要创建一个字典传递到extra_context,用钥匙siteInfo,和值作为dict siteInfo.在第二个,你dict siteInfo直接通过.