Anagram tekshiruvi
Satrlar anagram yoki yo'qligini tekshirish uchun (masalan, harflarning tasodifiy almashtirilishi natijasi) collections modulining Counter klassi yordam beradi.
👉 @python_backend_dev
Satrlar anagram yoki yo'qligini tekshirish uchun (masalan, harflarning tasodifiy almashtirilishi natijasi) collections modulining Counter klassi yordam beradi.
👉 @python_backend_dev
👍5👏1
Django AbstractBaseUser va AbstractUser o’rtasidagi farq.
Django'da AbstractBaseUse va AbstractUser o'rtasidagi farqni tushunish juda muhim sanaladi. Ayniqsa Django loyihasini boshlayotganingizda qaysi birini ishlatish kerakligini bilishingiz zarur.
AbstractUser
AbstractUser class User classni meros qilib oladi va maʼlumotlar bazasida foydalanuvchi uchun zarur boʻlgan qoʻshimcha maydonlarni qoʻshish uchun ishlatiladi. U asosan mavjud foydalanuvchi modeliga date_of_birth , address and bio_info kabi va boshqa maydonlarni qo'shish uchun ishlatiladi.
Masalan:
AbstractBaseUser
AbstractBaseUser faqat autentifikatsiya funksiyasiga ega, unda kichik sinfda foydalanish uchun maydonlarni taqdim etadigan haqiqiy maydonlar yo'q. Bu class'da faqat 3 ta field mavjud, ular id, password va last_login.
Ungacha qaysi maydon username fields’ni ifodalaydi va bu foydalanuvchilar qanday boshqariladi.
Masalan , autentifikatsiyada email’dan foydalanish kerak, Odatda Django autentifikatsiyada username nomidan foydalanadi , shuning uchun uni email’dan foydalanish uchun qanday o'zgartirish mumkin?
Agar sizga foydalanuvchi modeli ustidan to'liq nazorat kerak bo'lsa, AbstractBaseUser'dan foydalangan ma'qul, lekin agar siz faqat mavjud foydalanuvchiga biror narsa qo'shayotgan bo'lsangiz, masalan, qo'shimcha maydon bio, address maydoni yoki boshqa profil ma'lumotlarini qo'shmoqchi bo'lsangiz, AbstractUser’dan foydalaning.
Postda kamchiliklar yoki qo'shimcha fikrlar bo'lsa izohlarda yozib qoldiring 🙂
👉 @python_backend_dev
Django'da AbstractBaseUse va AbstractUser o'rtasidagi farqni tushunish juda muhim sanaladi. Ayniqsa Django loyihasini boshlayotganingizda qaysi birini ishlatish kerakligini bilishingiz zarur.
AbstractUser
AbstractUser class User classni meros qilib oladi va maʼlumotlar bazasida foydalanuvchi uchun zarur boʻlgan qoʻshimcha maydonlarni qoʻshish uchun ishlatiladi. U asosan mavjud foydalanuvchi modeliga date_of_birth , address and bio_info kabi va boshqa maydonlarni qo'shish uchun ishlatiladi.
Masalan:
from django.db import models
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
date_of_birth = models.DateField()
address = models.CharField(max_length=200, blank=True)
bio_info = models.TextField(max_length=700)
def str(self):
return self.username
Bunda qo’shilgan 3 ta fields User classning 11 ta fields’iga qo’shimcha bo’ladi.AbstractBaseUser
AbstractBaseUser faqat autentifikatsiya funksiyasiga ega, unda kichik sinfda foydalanish uchun maydonlarni taqdim etadigan haqiqiy maydonlar yo'q. Bu class'da faqat 3 ta field mavjud, ular id, password va last_login.
Ungacha qaysi maydon username fields’ni ifodalaydi va bu foydalanuvchilar qanday boshqariladi.
Masalan , autentifikatsiyada email’dan foydalanish kerak, Odatda Django autentifikatsiyada username nomidan foydalanadi , shuning uchun uni email’dan foydalanish uchun qanday o'zgartirish mumkin?
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
class CustomUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='Email address',
max_length=65,
unique=True,
)
date_of_birth = models.DateField()
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
objects = MyUserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['date_of_birth']
Endi qaror qabul qilish vaqti keldi, qaysi birini ishlatish kerak?Agar sizga foydalanuvchi modeli ustidan to'liq nazorat kerak bo'lsa, AbstractBaseUser'dan foydalangan ma'qul, lekin agar siz faqat mavjud foydalanuvchiga biror narsa qo'shayotgan bo'lsangiz, masalan, qo'shimcha maydon bio, address maydoni yoki boshqa profil ma'lumotlarini qo'shmoqchi bo'lsangiz, AbstractUser’dan foydalaning.
Postda kamchiliklar yoki qo'shimcha fikrlar bo'lsa izohlarda yozib qoldiring 🙂
👉 @python_backend_dev
👍8
😁 ha albatta bu ikki tushunchani juda katta farqi bor 😐
Buni faqatgina Senior dasturchi yozadigan kodni koʻrib tushunish mumkin.
👉 @python_backend_dev
Buni faqatgina Senior dasturchi yozadigan kodni koʻrib tushunish mumkin.
👉 @python_backend_dev
👍3😁3
Namespacing URL names
Siz o'rganish jarayonida django loyihangizda faqat bitta app yaratib ishlaysiz, lekin kattaroq django loyihalarida bir nechta 10 ta yoki 20 talab applar bo'lishi mumkin. Django ular orasidagi URL nomlarini qanday farqlaydi?
Misol uchun posts app muvjud va unda detail views bor, xuddi shu blog app uchun ham mavjud bo'lsa, template
Javob oddiy loyihaning urls.py sozlamalariga namespace ni qo'shish
Postda kamchiliklar va qo'shimcha fikrlar bo'lsa izohlarda kutaman 🫡
👉 @python_backend_dev
Siz o'rganish jarayonida django loyihangizda faqat bitta app yaratib ishlaysiz, lekin kattaroq django loyihalarida bir nechta 10 ta yoki 20 talab applar bo'lishi mumkin. Django ular orasidagi URL nomlarini qanday farqlaydi?
Misol uchun posts app muvjud va unda detail views bor, xuddi shu blog app uchun ham mavjud bo'lsa, template
{% url %} tegidan foydalanganda url manzil qaysi appga tegishliligini qanday farqlashi mumkin?Javob oddiy loyihaning urls.py sozlamalariga namespace ni qo'shish
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('posts.urls', namespace='posts')),
]
va posts appni urls.py fayliga app_name ni quyidagicha qo'shing:from django.urls import path
from . import views
app_name = 'posts'
urlpatterns = [
path('', views.index, name='index'),
path('<int:post_id>/', views.detail, name='detail'),
]
Endi posts/index.html templateni o'zgartiring:<li><a href="{% url 'posts:detail' post.id %}">{{ post.title }}</a></li>
Ko'proq o'rganmoqchi bo'lsagiz, Django documentatsiyasini o'qing.Postda kamchiliklar va qo'shimcha fikrlar bo'lsa izohlarda kutaman 🫡
👉 @python_backend_dev
👍4🤩1
Barchaga xayrli tun bugun nima haqida post qo'yishni bilmadim agar yana takliflar bo'lsa izohda yozib qoldiringlar
👍4
Pythonda foydalanuvchi kiritgan Elektron pochta manzilining username va domen nomini ajratib olish.
Kodni kim oʻqiy oldi, izohda qoldiring 👇
👉 @python_backend_dev
Kodni kim oʻqiy oldi, izohda qoldiring 👇
👉 @python_backend_dev
👍6
https://youtu.be/sTeoEFzVNSc
Mosh aka ChatGPT haqida zoʻr video dars tayyorlabdi.
Shunchaki ko'rib chiqing, to'g'risi qoyil qoldim. ChatGPT haqida shu paytgacha post joylamagandim chunki qanday ishlashiga unchalik qiziqmagandim. Bu vidoeni ko'rib, (vapshe) zo'r.
Faqat o'zimizda ishlamas ekanda shunisi dilni xira qilarkan lekin yo'li bor.
ChatGPT Desktop App: https://github.com/f/awesome-chatgpt-prompts
ChatGPT Chrome Extension: Link
👉 @python_backend_dev
Mosh aka ChatGPT haqida zoʻr video dars tayyorlabdi.
Shunchaki ko'rib chiqing, to'g'risi qoyil qoldim. ChatGPT haqida shu paytgacha post joylamagandim chunki qanday ishlashiga unchalik qiziqmagandim. Bu vidoeni ko'rib, (vapshe) zo'r.
Faqat o'zimizda ishlamas ekanda shunisi dilni xira qilarkan lekin yo'li bor.
ChatGPT Desktop App: https://github.com/f/awesome-chatgpt-prompts
ChatGPT Chrome Extension: Link
👉 @python_backend_dev
YouTube
ChatGPT Tutorial for Developers - 38 Ways to 10x Your Productivity
Learn how to use ChatGPT to 10x your productivity! 38 examples using Python, JavaScript, HTML, CSS, React, SQL and more!
- Subscribe for more ChatGPT tutorials: https://goo.gl/6PYaGF
ChatGPT Desktop App: https://github.com/f/awesome-chatgpt-prompts
ChatGPT…
- Subscribe for more ChatGPT tutorials: https://goo.gl/6PYaGF
ChatGPT Desktop App: https://github.com/f/awesome-chatgpt-prompts
ChatGPT…
👍3
Django admin panelida posts qismida unga yozilgan comment ni ko'rsatish
Birinchi navbatda admin.py faylimizga quyidagicha import qilib olamiz:
StackedInline yoki TabularInline
Post yoqqan bo'lsa like bosamiz 🫡
👉 @python_backend_dev
Birinchi navbatda admin.py faylimizga quyidagicha import qilib olamiz:
from django.contrib import admin
from .models import Post, Comment
rasmdagi ko'rinishga keltirish uchun quyidagi class lardan foydalanamiz:StackedInline yoki TabularInline
class CommentInline(admin.StackedInline):
model = Comment
va post modelimizga ham class yozib unda inlines fieldiga yuqoridagi classni qiymat sifatida beramiz:class PostAdmin(admin.ModelAdmin):
inlines = [
CommentInline
]
Qiziq shu paytgacha ishlatmagan ekanman 😊Post yoqqan bo'lsa like bosamiz 🫡
👉 @python_backend_dev
👍2🔥2
Assalomu alaykum yaxshimisizlar bugun Resume topshirgan academy ga suhbatga kelgandim tushgan savollarni ulashmoqchiman
Meni tasavvurimdagi suhbat boʻlmadi toʻgʻrisi 😁. Lekin yaxshi, boʻladi.
1. Githubdagi loyihalar boʻyicha yani qaysi joyida nima ish qiganiz.
2. Python core(data type, ularni farqlari(list, dict, ser, tuple), function turlari)
4. Python Opp(opp tamoyillari, _init_ haqida, meros olishni nechta turi bor, )
5. Sqlite va PostgreSQL - view, trigger, funksiya yozish, simple qismi
6. requests(ni) ishlatilib koʻrganligi
Davomini keyingi postlarda joylayman. Bular yodimda qolganlari.
Django va DRF boʻyicha kam savol berishdi deyarli yodimda qolmadi. Agarda yodimga tushsa ulashaman.
👉 @python_backend_dev
Meni tasavvurimdagi suhbat boʻlmadi toʻgʻrisi 😁. Lekin yaxshi, boʻladi.
1. Githubdagi loyihalar boʻyicha yani qaysi joyida nima ish qiganiz.
2. Python core(data type, ularni farqlari(list, dict, ser, tuple), function turlari)
4. Python Opp(opp tamoyillari, _init_ haqida, meros olishni nechta turi bor, )
5. Sqlite va PostgreSQL - view, trigger, funksiya yozish, simple qismi
6. requests(ni) ishlatilib koʻrganligi
Davomini keyingi postlarda joylayman. Bular yodimda qolganlari.
Django va DRF boʻyicha kam savol berishdi deyarli yodimda qolmadi. Agarda yodimga tushsa ulashaman.
👉 @python_backend_dev
👍5
shuffle() funktsiyasi
random modulining shuffle() funksiyasi o'zgaruvchan ketma-ketlikni aralashtirib yuborish uchun ishlatamiz.
Funktsiya hech narsani qaytarmaydi, lekin to'g'ridan-to'g'ri ketma-ketlik ob'ektining o'zini o'zgartiradi.
👉 @python_backend_dev
random modulining shuffle() funksiyasi o'zgaruvchan ketma-ketlikni aralashtirib yuborish uchun ishlatamiz.
Funktsiya hech narsani qaytarmaydi, lekin to'g'ridan-to'g'ri ketma-ketlik ob'ektining o'zini o'zgartiradi.
👉 @python_backend_dev
👍4
Twilio ya'ni Pythonda SMS xabar yuborish
Kutubxonani o'rnatish:
sizga kerakli account_sid va auth_token ni olishingiz kerak bo'ladi. Keyin esa quyidagi shablon asosida ishlaysiz.
Asosan ro'yxatdan o'tish qismida ishlatiladi.
👉 @python_backend_dev
Kutubxonani o'rnatish:
pip install twilio
Avvalo SMS yuborish uchun siz twilio.com saytidan ro'yxatdan o'tibsizga kerakli account_sid va auth_token ni olishingiz kerak bo'ladi. Keyin esa quyidagi shablon asosida ishlaysiz.
import os
from twilio.rest import Client
account_sid = "ACba1cf469702bb254c4aadc4ff437e930"
auth_token = "your_auth_token"
Loyihangizda Twiliodan foydalangan paytingiz albatta himoyalash esdan chiqmasligi lozim. #account_sid = os.environ['TWILIO_ACCOUNT_SID']
#auth_token = os.environ['TWILIO_AUTH_TOKEN']
client = Client(account_sid, auth_token)
message = client.iss.onessages.create(
from_="+99899XXXXXXX",
to="+99899XXXXXXX",
body="Hello my friend")
print(message.sid)
Buni qayerda ishlatamiz degan savolga Telegramdan ro'yxatdan o'tishda telefon raqamingizga SMS xabar kelganini va boshqa sayt va dasturlarda ham buni ko'rgansiz.Asosan ro'yxatdan o'tish qismida ishlatiladi.
👉 @python_backend_dev
👍3
Python Data Type Cheatsheet
Sizlarga foydali boʻladi degan umiddaman 😊
Suhbatda koʻpincha data typelarni farqini soʻrashadi shuni uchun ulashdim.
👉 @python_backend_dev
Sizlarga foydali boʻladi degan umiddaman 😊
Suhbatda koʻpincha data typelarni farqini soʻrashadi shuni uchun ulashdim.
👉 @python_backend_dev
👍4