آماده سازی قالب و ویو (Prep Template and View)
در این بخش «آماده سازی قالب جنگو» را انجام می دهیم. «قالب (Template)» فایل HTML است. «ویو (View)» کد پایتون است که داده را به قالب می فرستد. سپس نتیجه در مرورگر نمایش می شود.
ساخت قالب: all_members.html
یک فایل به نام all_members.html داخل پوشه templates/ بساز. این فایل لیست اعضا را نشان می دهد.
<!DOCTYPE html>
<html>
<body>
<h1>Members</h1>
<ul>
{% for x in mymembers %}
<li>{{ x.firstname }} {{ x.lastname }}</li>
{% endfor %}
</ul>
</body>
</html>
کدهای داخل {% ... %} «تگ های جنگو (Django Tags)» هستند. این تگ ها منطق ساده را داخل HTML اجرا می کنند.
ویرایش ویو: ارسال داده به قالب
در ویو، مدل Member را می خوانیم و با «کانتکست (Context)» به قالب می فرستیم.
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))
نکته: «کانتکست» یک دیکشنری است. کلیدها در قالب قابل دسترسی هستند.
اجرای سرور و دیدن نتیجه
سرور را اجرا کن و آدرس صفحه اعضا را باز کن.
python manage.py runserver
سپس به http://127.0.0.1:8000/members/ برو و خروجی را ببین.
جمع بندی سریع
- قالب را در
templates/بساز. - داده مدل را در ویو بخوان.
- با کانتکست، داده را به قالب بده.
- سرور را اجرا کن و نتیجه را ببین.
مطالب مرتبط: از به روزرسانی مدل برگرد و برای ادامه، افزودن لینک و جزئیات را دنبال کن. همچنین مرور قالب ها مفید است.