Python Dev
79 subscribers
236 photos
19 videos
3 files
101 links
Maqsad: Kanalga Python dasturlash tiliga oid faydali ma'lumotlar joylanib boriladi. Barchasi faqat sizlar uchun 💪🏻

Muhokama guruhimiz: @python_dev_chat
Murojaat: @uzaytijobs_admin
Download Telegram
Django loyihasini Docker orqali ishga tushirish

Birinchi qiladigan ishimiz yangi django project yaratib olamiz, unda app ham yaratib, ishlayotganini tekshirib ko'ramiz.

django-admin startproject project_name .
python manage.py startapp app_name
python manage.py runserver

Loyiha papkasi ichida Dockerfile nomli fayl yaratamiz va uni ichiga rasmda ko'rsatilgan kodlarni yozamiz.

Va undan keyin
Docker image yaratib olamiz:

docker build -t image_name .

Keyin esa docker containerni yaratilgan image orqali ishga tushiramiz:

docker run -p 8000:8000 image_name

Bu Docker containeridagi Django ishlab chiqish serverini ishga tushiradi va undan 8000-portda foydalanish imkoniyatini beradi.
Siz veb-brauzeringizdagi https://localhost:8000 manzilga o'tib Django loyihangizni ko'rishingiz mumkin.

Post haqida fikrlaringiz yoki savollaringiz boʻlsa izohlarda qoldiring.

👉 @python_backend_dev
👍6
Python Dev
Python dasturlash tilini qanchalik darajada bilasiz?
Xayrli kech barchaga bu soʻrovnomani oʻtkazishdan maqsad qaysi mavzularda koʻproq post qoʻyib borishni aniqlash edi. Yaxshi deyarli koʻpchilik core qismidan oʻtibdi. Endi koʻproq shu Backend qismiga etiborni qarataveraman. Oldinroq takliflarda telegram bot haqida ham post joylansin deyilgandi va albatta hammasi asta-sekin boʻladi, qoʻllab quvvatlab tursalariz boʻlgani.

👉 @python_backend_dev
👍9👏2🎉1
😁 👨‍💻

👉 @python_backend_dev
😁7👍1
Django projectni yaratish uchun siz quyidagi amallarni ketma-ket bajarishingiz kerak bo'ladi.

1. Virtual muhit yarating:
python -m venv myenv

2. Virtual muhitni faollashtirish:
Linux -> source myenv/bin/activate | Windows -> cd myenv/Scripts/activate

3. Django-ni o'rnating:
pip install django

4. Django projectni yarating:
django-admin startproject myproject

5. Django app yarating:
python manage.py startapp myapp

6. models.py fayliga o'z modellarinigizni yozing.

7. Migratsiyani ishga tushirish: Migratsiya modellar orqali bazada jadvallar yaratish uchun xizmar qiladi.
python manage.py makemigrations
python manage.py migrate

8. Views yaratish. views kiruvchi HTTP so'rovlariga mos javob qaytaruvchi mantiq(logic) qismidir.

9. app ichida urls.py fayl yarating va url manzillarni to'g'rilab oling.

10. Serverni ishga tushiring:
python manage.py runserver

11. Loyihangiz ishlashini koʻrish uchun quyidagi manzilga kiring:
https://localhost:8000

Bu qadamlar Django projectni qurishning asosiy bosqichlari. Bulardan tashqari masalan murakkablikni oshirishingiz
va bir nechta applar yaratishingiz, ularga mos modellar va url manzillar qo'shishingiz mumkin.
Django standart Sqlitedan foydalanadi, siz esa boshqa masalan PostgreSQL yoki MySQL ma'lumotlar bazasidan foydalansangiz ham bo'ladi.

Qo'shimcha fikrlar bo'lsa izohlar sizni kutib turibdi 🙂

👉 @python_backend_dev
👍8
Qachonki sen docker-compose up ni ishga tushirganingda 😁

👉 @python_backend_dev
👍4
strip() metodi - satrning boshidagi va oxiridagi bo'shliqlarni olib tashlash uchun ishlatiladi.

Bunga qoʻshimcha rstrip() va lstrip() metodlari ham mavjud, bular satrning o'ng va chap tomondagi bo'shliqlarni olib tashlash uchun xizmat qiladi.

👉 @python_backend_dev
🔥3
Python bilan shunaqangi shakllar yasashni biladiganlar 👍 bosilar va izohlarda boshqacha shakllarni kutib qolaman 🙂

Python kodi:
print(" ~\n - -\n (0 0)\n / V \\\n/( _ )\\\n ^^ ^^")

👉 @python_backend_dev
👍9
Django: Slug

Slug - bu biror narsaning qisqacha yorlig'i bo'lib, unda faqat harflar, raqamlar, pastki chiziq(_) yoki defis(-) mavjud. Ular odatda URL manzillarida qo'llaniladi.

#django #slug

👉 @python_backend_dev
👍2
Junior, middle va seniorlar o'rtasidagi farqlar.

Linkedindan 🙂

👉 @python_backend_dev
👍10😁31
Pythonda walrus operatori ( := )

Bu operator Python 3.8 dagi yangi xususiyati hisoblanadi. Vazifasi biror ifoda ichidagi o'zgaruvchilarga qiymatlarni belgilash uchun ishlatiladi.
Misol uchun u bir vaqtning o'zida shartni tekshirish va o'zgaruvchiga qiymat belgilash(o'zlashtirish) uchun ya'ni while tsikli holatida ishlatilishi mumkin.
Nima uchun qavs () dan foydalanish kerak chunki sintaksis jihatdan ishlatilishi shunaqa, agarda n = m := 5 shu holatida ishlatiladigan bo'lsa, SyntaxError: invalid syntax xatolikni olamiz, istisno holatlari ham mavjud.

Koʻproq tanishish uchun manba

👉 @python_backend_dev
👍5
Siz asosan qaysi vaqtlarda dasturlashni o'rganasiz yoki unda ishlaysiz?
Anonymous Poll
14%
06:00 - 12:00
27%
13:00 - 19:00
66%
19:00 - 00:00
18%
00:00 dan keyin
Pythonda schedule kutubxonasi

Bu sizga Python funktsiyalarini ma'lum vaqt oralig'ida yoki ma'lum vaqtlarda ishlashini rejalashtirishni taminlab beradi.

"Schedule" kutubxonasi python dasturlaringizda takrorlanadigan vazifalarni avtomatlashtirishning oddiy va yengil usulini taqdim etadi. Ya'ni funktsiyalarni har daqiqada yoki har soatda yoki har kuni ertalab 9:00 kabi ma'lum vaqtlarda ishlashini rejalashtirish imkonini beradi.

Bir nechta misol keltirilgan agarda qo'shimcha o'rganmoqchi bo'lsangiz, Manba

👉 @python_backend_dev
👍3🔥1
😁 shunaqami programmistlar

👉 @python_backend_dev
😁7👍2
https://www.youtube.com/watch?v=y3sYA5Wpd_0

Notion ChatGPT kabi ishlashini bilarmidingiz? Agarda ChatGPTdan roʻyxatdan oʻta olmaganlar boʻlsa bu ham yomon emas. Ishlatishga ancha qulay.

Video yoqsa 👍 bosib qoʻyinglar 😊
Videoni qisqa qilib ola qoldim 😊
👍9
#kepqoldi

- Chang ko'chalar, chang - chang ko'chalar,
- Kimga kerak juniorbachchalar?

- Ish qidirar tun - u kechalar,
- Otkaz oladur necha - nechalar.
- Ko'p qiynamanglar, "katta" akalar
- Yig'lab keladur, junior bachalar

- Ehhh chang ko'chalar...
- Chang - chang ko'chalar...
😁12
Chiroyli masala ekan ulashgim keldi 😊

👉 @python_backend_dev
👍13
Tanishmi bu holat 😁

👉 @python_backend_dev
😁8
Pythonda get() metodi.

Bu metod dict-dan har qanday belgilangan kalitning qiymatini olish uchun ishlatiladi. Agarda kalit dict-da mavjud bo'lsa, kalitning qiymatini aks holda None qaytaradi.

Sintaksisi: Dict.get(key, default=None)

👉 @python_backend_dev
👍4