Bosh sahifa qo‘shish


ULASHISH

Bosh (index) sahifa

Loyihamizga bosh sahifa kerak.

Kimdir loyihaning ildiz papkasiga (root) kirganda, bosh sahifa birinchi ochiladigan sahifa bo‘ladi.

Hozir loyihangizning ildiz papkasiga kirsangiz, xatolik chiqadi:

127.0.0.1:8000/.

Avval main.html nomli shablon yarating:

Bosh sahifa

my_tennis_club/members/templates/main.html:

{% extends "master.html" %}

{% block title %}
  My Tennis Club
{% endblock %}

{% block content %}
  <h1>My Tennis Club</h1>

  <h3>Members</h3>
  
  <p>Check out all our <a href="members/">members</a></p>
  
{% endblock %}

Yangi view yaratish

So‘ngra loyihaning ildiziga (root) keladigan so‘rovlarni qayta ishlaydigan main nomli yangi view yarating:

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))
  
def details(request, id):
  mymember = Member.objects.get(id=id)
  template = loader.get_template('details.html')
  context = {
    'mymember': mymember,
  }
  return HttpResponse(template.render(context, request))
  
def main(request):
  template = loader.get_template('main.html')
  return HttpResponse(template.render())
    

main view’i quyidagilarni bajaradi:

  • main.html shablonini yuklaydi.
  • Shablon tomonidan render qilingan HTML’ni chiqaradi.


URL qo‘shish

Endi ildiz URL’i (root url) to‘g‘ri view’ga yo‘naltirilishini ta’minlashimiz kerak.

urls.py faylini oching va main view’ini urlpatterns ro‘yxatiga qo‘shing:

my_tennis_club/members/urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.main, name='main'),
    path('members/', views.members, name='members'),
    path('members/details/<int:id>', views.details, name='details'),
]
Misolni ishga tushirish »

Bosh sahifaga qaytish havolasini qo‘shish

A’zolar sahifasida bosh sahifaga qaytish havolasi yo‘q, shuning uchun uni all_members.html shablonidagi content blokiga qo‘shamiz:

Misol

my_tennis_club/members/templates/all_members.html:

{% extends "master.html" %}

{% block title %}
  My Tennis Club - List of all members
{% endblock %}

{% block content %}

  <p><a href="/">HOME</a></p>

  <h1>Members</h1>
  
  <ul>
    {% for x in mymembers %}
      <li><a href="details/{{ x.id }}">{{ x.firstname }} {{ x.lastname }}</a></li>
    {% endfor %}
  </ul>
{% endblock %}
Misolni ishga tushirish »

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

Agar server to‘xtagan bo‘lsa, uni runserver buyrug‘i bilan qayta ishga tushirishingiz kerak:

python manage.py runserver

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!