Shablon va view’ni tayyorlash


ULASHISH

Shablon yaratish

Kerakli maydon va ma’lumotlarga ega modellarni yaratganimizdan so‘ng, endi ma’lumotlarni veb-sahifada ko‘rsatish vaqti keldi.

Avval all_members.html nomli HTML fayl yarating va uni /templates/ papkasiga joylang:

my_tennis_club/members/templates/all_members.html:

<!DOCTYPE html>
<html>
<body>

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

</body>
</html>

HTML hujjat ichidagi {% %} qavslarini ko‘ryapsizmi?

Bular Django teglari bo‘lib, Django’ga shu qavslar ichida qandaydir dasturiy mantiqni bajarishni bildiradi.

Django teglari haqida Django teglari bobida batafsil bilib olasiz.


View’ni o‘zgartirish

Keyin model ma’lumotlarini shablonda foydalanish mumkin bo‘ladigan qilishimiz kerak. Bu view’da amalga oshiriladi.

View’da Member modelini import qilib, uni shablonga quyidagicha yuborishimiz kerak:

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))
Misolni ishga tushirish »

members view’i quyidagilarni bajaradi:

  • Member modelining barcha qiymatlaridan iborat mymembers obyektini yaratadi.
  • all_members.html shablonini yuklaydi.
  • mymembers obyektini o‘z ichiga olgan obyekt yaratadi.
  • Obyektni shablonga yuboradi.
  • Shablon tomonidan render qilingan HTML’ni chiqaradi.


Natija

Natijani ko‘rishingiz uchun misol tayyorladik:

Misolni ishga tushirish »

Agar barcha qadamlarni o‘z kompyuteringizda bajargan bo‘lsangiz, natijani o‘z brauzeringizda ko‘rishingiz mumkin:

/my_tennis_club/ papkasiga o‘tib, quyidagi buyruqni bajarish orqali serverni ishga tushiring:

python manage.py runserver

Brauzer oynasidagi manzil satriga 127.0.0.1:8000/members/ deb yozing.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!