2011-09-22 36 views
15

Hệ thống mẫu Django - cách lấy giá trị từ điển python từ khóa?Cách lấy giá trị khóa trong mẫu django?

Tôi có hai từ điển đại diện cho dữ liệu khác nhau nhưng cả hai đều có cùng một khóa để tôi có thể truy cập dữ liệu khác nhau từ cùng một khóa.

dict Đầu tiên là:

{**'Papa, Joey C'**: {'Office Visit Est Pt Level 3 (99213)': 32, 'LAP VENTABD HERNIA 
REPAIR (49652)': 2, 'INSERT TUNNELED CV CATH (36561)': 4, 'Office Visit New Pt 
Level 2 (99202)': 4, 'PUNCTURE/CLEAR LUNG (32420)': 1, 'REPAIR SUPERFICIAL WOUND 
S (12011)': 1, 'DEBRIDE SKINTISSUE (11042)': 29, 'Office Visit New Pt Level 3 (9 
9203)': 11, 'IDENTIFY SENTINEL NODE (38792)': 2, 'MAST MOD RAD (19307)': 1, 'EXC 
FACE LES SC < 2 CM (21011)': 1, 'ACTIVE WOUND CARE20 CM OR (97597)': 4, 'RPR UM 
BIL HERN, REDUC > 5 YR (49585)': 3, 'REMOVE LESION BACK OR FLANK (21930)': 2}} 

điển thứ hai là:

{**'Papa, Joey C'**: {'10140': 1, '10061': 1, '99214': 1, '99215': 1, '12011': 1, '97606': 1, '49080': 1, '10120': 1, '49440': 1, '49570': 1}, 'Bull, Sherman M': {'99211': 1, '99214': 1, '99215': 1, '99231': 1, '99236': 1, '12051': 1, '15004':1, '47100': 1, '15430': 1, '15431': 1}} 

On mẫu django, Tôi đang sử dụng ...

{% for key1,value1 in mydict.items %} 
<br><br> 
<br><br> 
<table border="1"><tr><td>Provider Name</td><td width="70%">{{key1}}</td></tr></table> 
<br><br> 
<table class="report_by_provider"><thead><tr><th>CPT Discription</th><th>Total</th></tr></thead> 
<tbody> 
{% for key2,val2 in value1.items %} 
<tr> 
<td>{{key2}}</td> 
<td>{{val2}}</td> 
</tr> 
{% endfor %} 
</tbody> 
</table> 

<table class="report_by_provider"><thead><tr><th>CPT Code</th><th>CPT Discription</th><th>Vol</th></tr></thead> 
<tbody> 

{% for key3,val3 in mydict1.key1%} 
{% for key,val in val3.items %} 
<tr> 
<td>{{key1}}</td> 
<td>{{val}}</td> 
<td>{{val}}</td> 
</tr> 
{% endfor %} 
{% endfor %} 

Nhưng điển thứ hai không phải là in ấn .

+1

Có thể trùng lặp: http://stackoverflow.com/questions/2970244/django-templates-value-of-dictionary-key-with-a-space-in-it – DrTyrsa

Trả lời

38
mydict = {'Papa, Joey C': {'10140': 1, '10061': 1, '99214': 1, '99215': 1, '12011': 1, '97606': 1, '49080': 1, '10120': 1, '49440': 1, '49570': 1}, 'Bull, Sherman M': {'99211': 1, '99214': 1, '99215': 1, '99231': 1, '99236': 1, '12051': 1, '15004':1, '47100': 1, '15430': 1, '15431': 1}} 

{% for mykey,myvalue in mydict.items %} 

    {{ mykey }} : {{ myvalue }} 

{% endfor %} 
+1

Không hiệu quả lắm nếu bạn chỉ muốn một mục từ một dict lớn. – DrTyrsa

+16

Nếu bạn chỉ muốn 1 mục, bạn sẽ không gửi một dict ở nơi đầu tiên. –

+0

** nhận xét của bạn ** có thể làm rõ lý do mã của tôi chậm ... lol –

8

Với từ điển:

{'papa': {'name': 'Papa, Joey C', 'values': {'10140': 1, ... 

bạn có thể truy cập vào các giá trị từ các phím sử dụng {{ mydict1.papa.name }}

Biết trực tiếp sử dụng chìa khóa trong các mẫu nếu nó chứa dấu cách sử dụng hoặc sản phẩm đặc biệt ký tự, bạn hoặc có thể thay đổi cấu trúc của bạn (như tôi vừa làm cho ví dụ) hoặc tạo một custom templatetag/filter mà bạn có thể sử dụng như {{ mydict1|get_key:"Papa, Joey C"}}.

Nếu bạn muốn có ví dụ hoàn chỉnh về bộ lọc, hãy cho tôi biết.

+0

Tôi cần ví dụ hoàn chỉnh –

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