آماده‌سازی Template جنگو

ساخت Template

پس از ایجاد مدل ها، با فیلدها و داده هایی که در آنها می خواهیم، نوبت به نمایش داده ها در یک صفحه وب می رسد.

با ایجاد یک فایل HTML به نام all_members.html شروع کنید و آن را در پوشه /templates/ قرار دهید:

my_tennis_club/members/templates/all_members.html:
				
					<!DOCTYPE html>
<html>
<body data-rsssl=1>

<h1>Members</h1>
  
<ul>
  {% for x in mymembers %}
    <li>{{ x.firstname }} {{ x.lastname }}</li>
  {% endfor %}
</ul>

</body>
</html>
				
			

آیا آکولاد های {% %} را در داخل سند HTML می بینید؟

آنها تگ های جنگو هستند و به جنگو می گویند که منطق برنامه نویسی را در داخل این براکت ها انجام دهد.

در فصل تگ های جنگو اطلاعات بیشتری در مورد تگ های جنگو خواهید آموخت.

اصلاح View

در مرحله بعد باید داده های Model را در قالب (template) در دسترس قرار دهیم. این کار در view انجام می شود.

در view ما باید مدل Member را وارد کنیم و آن را به شکل زیر به template ارسال کنیم:

my_tennis_club/members/views.py:
				
					from django.http import HttpResponse
from django.template import loader
from .models import Member

def members(request):
  mymembers = Member.objects.all().values()
  template = loader.get_template('all_members.html')
  context = {
    'mymembers': mymembers,
  }
  return HttpResponse(template.render(context, request))
				
			
فایل view موجود در members موارد زیر را انجام می دهد:
  • یک شی mymembers با تمام مقادیر مدل Member ایجاد می کند.
  • قالب all_members.html را بارگیری می کند.
  • یک شیء حاوی شیء mymembers ایجاد می کند.
  • شیء را به قالب ارسال می کند.
  • HTML رندر شده توسط الگو را خروجی می دهد.

نتیجه

ما یک مثال ایجاد کرده ایم تا بتوانید نتیجه را ببینید:

اگر تمام مراحل را در رایانه شخصی خود انجام داده اید، می توانید نتیجه را در مرورگر خود مشاهده کنید:

سرور را با رفتن به پوشه /my_tennis_club/ و اجرای این دستور راه اندازی کنید:

				
					py manage.py runserver
				
			
در پنجره مرورگر، عبارت 127.0.0.1:8000/members/ را در نوار آدرس تایپ کنید.