2009-06-19 61 views
8

Vớichuỗi rỗng trong kết quả render HTML từ Django/Python

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

trong một tập tin "urls.py".

này hoạt động như mong đợi:

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

Tại sao nó không làm việc với những điều sau đây? (Kết quả của "{{siteInfo.appname3}}" trong homepage.html trở thành emtpy):

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

Nó sẽ có tác dụng nếu "siteInfo.appname3" đã được đổi thành cái gì khác?

+1

Tại sao tất cả các dấu gạch chéo ngược này? –

Trả lời

11

Sử dụng {{ appname3 }} thay vì {{siteInfo.appname3}}.

Vì cặp khóa-giá trị {{appname3}} có thể truy cập trực tiếp trong mẫu, thay vì truy cập được qua {{ siteInfo.key }}.

Trong ví dụ đầu tiên, bạn đang tạo ra một dict được chuyển vào extra_context, với phím siteInfo, và giá trị là dictsiteInfo. Trong lần thứ hai, bạn đang chuyển trực tiếp số dictsiteInfo.

Các vấn đề liên quan