Statik fayllar qo‘shish
Static papkasini yaratish
Veb-ilovalar yaratishda, ehtimol, rasmlar yoki CSS fayllar kabi statik fayllarni qo‘shishni xohlaysiz.
Avval loyihangizda, templates papkasini yaratgan joyingizda, static nomli papka yarating:
Papka nomi aynan static bo‘lishi shart.
my_tennis_club
manage.py
my_tennis_club/
members/
templates/
static/
static papkasiga CSS fayl qo‘shing. Nomini o‘zingiz tanlaysiz, bu misolda biz uni myfirst.css deb nomlaymiz:
my_tennis_club
manage.py
my_tennis_club/
members/
templates/
static/
myfirst.css
CSS faylni oching va unga quyidagini qo‘shing:
my_tennis_club/members/static/myfirst.css:
body {
background-color: lightblue;
font-family: verdana;
}
Shablonni o‘zgartirish
Endi sizda bir oz CSS uslublari yozilgan CSS fayl bor. Keyingi qadam — bu faylni HTML shablonga ulash:
templates/template.html faylini oching va quyidagini qo‘shing:
{% load static %}
Va:
<link rel="stylesheet" href="{% static 'myfirst.css' %}">
Misol
my_tennis_club/members/templates/template.html:
{% load static %}
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="{% static 'myfirst.css' %}">
<body>
{% for x in fruits %}
<h1>{{ x }}</h1>
{% endfor %}
</body>
</html>
Misolni ishga tushirish »
O‘zgarishlar kuchga kirishi uchun serverni qayta ishga tushiring:
python manage.py runserver
Va natijani o‘z brauzeringizda ko‘ring: 127.0.0.1:8000/testing/.
Ishlamadimi?
Shunchaki sinab ko‘ryapsizmi? Agar shunchaki tajriba qilmoqchi bo‘lsangiz va ishingizni joylashtirish (deploy) niyatingiz bo‘lmasa, settings.py faylida DEBUG = True qilib belgilashingiz mumkin — shunda yuqoridagi misol ishlaydi.
Joylashtirishni (deploy) rejalashtiryapsizmi? Agar ishingizni joylashtirmoqchi bo‘lsangiz, settings.py faylida DEBUG = False qilib belgilashingiz kerak. Bunda yuqoridagi misol ishlamaydi, chunki Django’da statik fayllarni uzatish (serve) uchun o‘rnatilgan yechim yo‘q. Ammo statik fayllarni uzatishning boshqa usullari bor — ularni keyingi bobda o‘rganasiz.
Misol (ishlab chiqish muhitida):
my_tennis_club/my_tennis_club/settings.py:
.
.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
.
.
Bu misolni ishlaydigan qiladi, lekin biz DEBUG = False variantini tanlashingizni xohlaymiz, chunki Django bilan ishlashni o‘rganishning eng yaxshi yo‘li shu.
Debug = False variantini tanlang
Darslikning qolgan qismida, hatto ishlab chiqish jarayonida ham, DEBUG = False sozlamasi bilan ishlaymiz, chunki Django bilan ishlashni o‘rganishning eng yaxshi yo‘li shu.
Misol:
my_tennis_club/my_tennis_club/settings.py:
.
.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
ALLOWED_HOSTS = ['*']
.
.
ALLOWED_HOSTS
DEBUG = False ishlatilganda ishingizni qaysi xost nomi(lari)da joylashtirishga ruxsat berilishini ko‘rsatishingiz kerak. '127.0.0.1' yoki 'localhost' qiymatini tanlashingiz mumkin — ikkalasi ham lokal kompyuteringiz manzilini bildiradi.
Biz '*' qiymatini tanlaymiz, bu istalgan manzilga ushbu saytni joylashtirishga ruxsat berilganini bildiradi. Loyihangizni ommaviy serverga joylashtirganingizda buni haqiqiy domen nomiga o‘zgartirish kerak.
Ishlamadimi?
Ha, to‘g‘ri, misol hanuz ishlamayapti.
Statik fayllar bilan ishlash uchun uchinchi tomon kutubxonasini o‘rnatishingiz kerak bo‘ladi.
Ko‘plab muqobil variantlar bor, keyingi bobda biz sizga WhiteNoise nomli Python kutubxonasidan qanday foydalanishni ko‘rsatamiz.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
