ฉันได้รับอาร์เรย์ที่arrส่งไปยังแม่แบบ Django ของฉัน ฉันต้องการเข้าถึงแต่ละองค์ประกอบของอาเรย์ในอาเรย์ (เช่นarr[0], arr[1]) ฯลฯ แทนที่จะวนซ้ำทั้งอาเรย์
มีวิธีทำในเทมเพลต Django หรือไม่?
ฉันได้รับอาร์เรย์ที่arrส่งไปยังแม่แบบ Django ของฉัน ฉันต้องการเข้าถึงแต่ละองค์ประกอบของอาเรย์ในอาเรย์ (เช่นarr[0], arr[1]) ฯลฯ แทนที่จะวนซ้ำทั้งอาเรย์
มีวิธีทำในเทมเพลต Django หรือไม่?
คำตอบ:
จำไว้ว่าเครื่องหมายจุดในเทมเพลต Django นั้นใช้สำหรับสัญกรณ์ที่แตกต่างกันสี่แบบใน Python ในเทมเพลตfoo.barสามารถหมายถึงใด ๆ ของ:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
มันจะพยายามตามลำดับนี้จนกว่าจะพบการแข่งขัน ดังนั้นfoo.3จะให้ดัชนีรายการของคุณแก่คุณเพราะวัตถุของคุณไม่ใช่ dict ที่มี 3 เป็นคีย์ไม่มีแอตทริบิวต์ชื่อ 3 และไม่มีวิธีชื่อ 3
foo['bar']ใช่ไหม
arr.0
arr.1
เป็นต้น
คุณสามารถเข้าถึงองค์ประกอบลำดับด้วย arr.0 arr.1 และอื่น ๆ ดูบทระบบแม่แบบ Djangoของหนังสือ django สำหรับข้อมูลเพิ่มเติม
เมื่อคุณrenderขอcoctextข้อมูลบางอย่าง: สำหรับ exampel:
return render(request, 'path to template',{'username' :username , 'email'.email})
คุณสามารถเห็นด้วยกับแม่แบบเช่นนี้:
for variabels :
{% if username %}{{ username }}{% endif %}
for array :
{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}
คุณยังสามารถตั้งชื่อวัตถุอาเรย์ในviews.pyสิบและใช้มันเช่น:
{% if username %}{{ username.first }}{% endif %}
หากมีปัญหาอื่น ๆ ฉันต้องการที่จะช่วยคุณ
arr.0,arr.1... วิธีแก้ไขปัญหาอื่น: เขียนแท็กเทมเพลตของคุณเองarr|array_item: "0"หรืออะไรทำนองนี้