ساخت Template
پس از ایجاد مدل ها، با فیلدها و داده هایی که در آنها می خواهیم، نوبت به نمایش داده ها در یک صفحه وب می رسد.
با ایجاد یک فایل HTML به نام all_members.html
شروع کنید و آن را در پوشه /templates/
قرار دهید:
my_tennis_club/members/templates/all_members.html
:
Members
{% for x in mymembers %}
- {{ x.firstname }} {{ x.lastname }}
{% endfor %}
آیا آکولاد های {% %} را در داخل سند 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))
members
موارد زیر را انجام می دهد:
- یک شی
mymembers
با تمام مقادیر مدلMember
ایجاد می کند. - قالب
all_members.html
را بارگیری می کند. - یک شیء حاوی شیء
mymembers
ایجاد می کند. - شیء را به قالب ارسال می کند.
- HTML رندر شده توسط الگو را خروجی می دهد.
نتیجه
ما یک مثال ایجاد کرده ایم تا بتوانید نتیجه را ببینید:
اگر تمام مراحل را در رایانه شخصی خود انجام داده اید، می توانید نتیجه را در مرورگر خود مشاهده کنید:
سرور را با رفتن به پوشه /my_tennis_club/
و اجرای این دستور راه اندازی کنید:
py manage.py runserver
127.0.0.1:8000/members/
را در نوار آدرس تایپ کنید.