2009-06-19 10 views
8

Étant donnéChaîne vide en HTML résultat rendu de Django/Python

siteInfo = \ 
{ 
    'appname3': 'MSQuantDynamics11', 
    'siteBase': 'http://www.pil.sdu.dk/1', 
} 

dans un fichier "urls.py".

Cela fonctionne comme prévu:

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

Pourquoi cela ne fonctionne pas avec les éléments suivants? (Le résultat de "{{}} siteInfo.appname3" dans homepage.html devient emtpy):

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

Ne serait-il fonctionner si "siteInfo.appname3" a été changé à autre chose?

+1

Pourquoi toutes ces barres obliques inverses? –

Répondre

11

Utilisez {{ appname3 }} au lieu de {{siteInfo.appname3}}. Parce que les paires de valeurs-clés {{appname3}} peuvent être directement accessibles dans le modèle, plutôt que d'être accessibles via {{ siteInfo.key }}.

Dans le premier exemple, vous créez un dict à passer dans extra_context, avec la siteInfo clé et la valeur étant la dictsiteInfo. Dans la seconde, vous passez le dictsiteInfo directement.

Questions connexes