2009-06-19 10 views
8

BiorącPusty ciąg w HTML wytopione wyniku z Django/Python

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

w "urls.py" pliku.

To działa zgodnie z oczekiwaniami:

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

Dlaczego nie działa to z następujących powodów? (Wynik "{{siteInfo.appname3}}" w homepage.html staje emtpy):

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

to działa, jeśli "siteInfo.appname3" została zmieniona na coś innego?

+1

Dlaczego wszystkie te ukośniki odwrotne? –

Odpowiedz

11

Użyj {{ appname3 }} zamiast {{siteInfo.appname3}}.

Ponieważ pary klucz-wartość {{appname3}} mogą być bezpośrednio dostępne w szablonie, a nie dostępne przez {{ siteInfo.key }}.

W pierwszym przykładzie, jesteś tworząc DICT być przekazywane do extra_context, z kluczem siteInfo, a wartość będąc dictsiteInfo. W drugim przypadku bezpośrednio podajesz dict .