نکتهای برای نامگذاری مقادیر بولین و وضعیتها:
برای مقادیر بولین، اسم رو به شکل سؤال بنویس تا خوندنش طبیعیتر بشه 👇
✅ به جای active بنویس is_active
✅ به جای verified بنویس is_verified
✅ به جای access بنویس has_access
✅ به جای edit بنویس can_edit یا is_editable
✅ به جای deleted بنویس is_deleted
اگه حالتها بیش از دو تا هستن (مثلاً pending / approved / rejected)،
از Enum استفاده کن تا کد خواناتر و ایمنتر بشه.
همچنین میتونی بعضی وضعیتها رو با propertyها نمایش بدی:
✍🏻@thealibigdeli_channel
برای مقادیر بولین، اسم رو به شکل سؤال بنویس تا خوندنش طبیعیتر بشه 👇
✅ به جای active بنویس is_active
✅ به جای verified بنویس is_verified
✅ به جای access بنویس has_access
✅ به جای edit بنویس can_edit یا is_editable
✅ به جای deleted بنویس is_deleted
اگه حالتها بیش از دو تا هستن (مثلاً pending / approved / rejected)،
از Enum استفاده کن تا کد خواناتر و ایمنتر بشه.
همچنین میتونی بعضی وضعیتها رو با propertyها نمایش بدی:
@property
def should_be_canceled(self):
return self.status in ["pending", "failed"]
✍🏻@thealibigdeli_channel
👍11❤1✍1
Forwarded from Milad Hatami
Media is too big
VIEW IN TELEGRAM
⭕️💢کافه جنگو💢⭕️
آموزش جنگو پایتون
جلسه : چهارم
موضوع این جلسه: آشنایی با مدیریت url و آشنایی با مدلها
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_4
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
آموزش جنگو پایتون
جلسه : چهارم
موضوع این جلسه: آشنایی با مدیریت url و آشنایی با مدلها
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_4
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
❤3👍1
جنگولرن
⭕️💢کافه جنگو💢⭕️ آموزش جنگو پایتون جلسه : چهارم موضوع این جلسه: آشنایی با مدیریت url و آشنایی با مدلها رشته: فنی پایه 11 کتب جدید پایه: 11 فنی و 11 و 12 کاردانش درس: وب سطح: متوسط مدرس: مهندس حاتمی 🔻🔻🔻🔻🔻🔻 #کافه_دانش #کافه_جنگو #جلسه_4 #سطح_متوسط_پیشرفته…
ویدئو جلسه چهارم - آشنایی با مدیریت url و آشنایی با مدلها + پرسش و پاسخ
برای همکاران هنرآموز کامپیوتر
لینک آپارت این ویدئو:
https://www.aparat.com/v/dbv8ael
اگه نکته ای یا انتقادی دارید، توی کامنت ها بنویسید لطفا
یا به @miladhzz پیام بدید
برای همکاران هنرآموز کامپیوتر
لینک آپارت این ویدئو:
https://www.aparat.com/v/dbv8ael
توی این ویدئو که برای همکاران هنرستانی برگزار شد، با url resolver آشنا شدیم.
با استفاده از urls.py تونستیم بین صفحات بچرخیم و با استفاده از نامگذاری path ها کار رو راحت تر کردیم. در ادامه با استفاده از کتاب، مدل Post رو نوشتیم و با مفهوم migrate و کار دستور makemigrations آشنا شدیم.آخر کلاس هم پرسش و پاسخ داشتیم.
توی این دوره قراره بر اساس کتاب Django 5 By Example پیش بریم. ولی مفاهیمی فراتر از کتاب رو قطعا پوشش خواهیم داد.
تمرکز این دوره بر پرسش و پاسخ خواهد بود. که بتونیم به همکاران راهنمایی بدیم.
اگه نکته ای یا انتقادی دارید، توی کامنت ها بنویسید لطفا
یا به @miladhzz پیام بدید
❤4
django.pdf
621.2 KB
سلام دوستان! 👋
امروز یه ترفند خیلی جالب یاد گرفتم. 😍فقط با یه دستور کل مدلهای Django رو دیاگرام کردم.
یعنی دقیقاً ببینی که هر مدل چطور به بقیه وصله، روابطش چیه، ForeignKey کجاها داری و خلاصه ساختار دیتابیس رو بهصورت تصویری ببینی!
📌 اگه این آموزش برات مفید بود، حتماً بنویس تا آموزشهای بیشتری از Django و ابزارهای کاربردی بذارم 💻✨
از لینکدین Elmira Nikrudi
امروز یه ترفند خیلی جالب یاد گرفتم. 😍فقط با یه دستور کل مدلهای Django رو دیاگرام کردم.
یعنی دقیقاً ببینی که هر مدل چطور به بقیه وصله، روابطش چیه، ForeignKey کجاها داری و خلاصه ساختار دیتابیس رو بهصورت تصویری ببینی!
📌 اگه این آموزش برات مفید بود، حتماً بنویس تا آموزشهای بیشتری از Django و ابزارهای کاربردی بذارم 💻✨
از لینکدین Elmira Nikrudi
🔥23❤5👍4
اینارو ببین:
کد اول:
کد دوم:
اگه میگی هر دو خطا میخورن 👍
اگه میگی فقط اولی خطا 👎
اگه میگی فقط دومی خطا 🤔
از کتاب Fluent Python
کد اول:
def f1(a):
print(a)
print(b)
f1(10)
کد دوم:
b = 6
def f2(a):
print(a)
print(b)
b = 9
f2(10)
اگه میگی هر دو خطا میخورن 👍
اگه میگی فقط اولی خطا 👎
اگه میگی فقط دومی خطا 🤔
از کتاب Fluent Python
👎58👍42❤2🤔1🆒1
جنگولرن
اینارو ببین: کد اول: def f1(a): print(a) print(b) f1(10) کد دوم: b = 6 def f2(a): print(a) print(b) b = 9 f2(10) اگه میگی هر دو خطا میخورن 👍 اگه میگی فقط اولی خطا 👎 اگه میگی فقط دومی خطا 🤔 از کتاب Fluent Python
هر دو خطا میخورن.
ان شاالله یه توضیح خوب براش آماده میکنم و پست میکنم.
ان شاالله یه توضیح خوب براش آماده میکنم و پست میکنم.
❤6
Audio
ویس مصاحبه با صفا صفری، محقق امنیت
صفا تازگی ها طلای مسابقات ملی مهارت رو گرفته و در حال تمرین برای مسابقات جهانی هست.
مصاحبه توی هنرستان شهید دبیریان، منطقه 16 تهران به صورت آنلاین برگزار شد
این بار سوالات بچه هارو حذف نکردم و اتفاقا گفتگو قشنگی شد.
لینک ویدئو:
https://www.aparat.com/v/fnh1y35
تشکر از صفا
صفا تازگی ها طلای مسابقات ملی مهارت رو گرفته و در حال تمرین برای مسابقات جهانی هست.
مصاحبه توی هنرستان شهید دبیریان، منطقه 16 تهران به صورت آنلاین برگزار شد
این بار سوالات بچه هارو حذف نکردم و اتفاقا گفتگو قشنگی شد.
لینک ویدئو:
https://www.aparat.com/v/fnh1y35
تشکر از صفا
🔥10❤5
جنگولرن
اینارو ببین: کد اول: def f1(a): print(a) print(b) f1(10) کد دوم: b = 6 def f2(a): print(a) print(b) b = 9 f2(10) اگه میگی هر دو خطا میخورن 👍 اگه میگی فقط اولی خطا 👎 اگه میگی فقط دومی خطا 🤔 از کتاب Fluent Python
نظر فنی یکی از دوستان در مورد این پست (به نظر ایشون دانستن این مفاهیم مهمه):
قانون LEGB یکم سو تفاهم هست درش. بعضیا فکر میکنن این قانون داره میگه اگه local نبود پس میره enclosing رو "میگرده"،اگه نبود میره global رو "میگرده" تا پیدا کنه و انتظار دارن مثال دوم کار بکنه و اولین b رو از global بیاره و بعد که تعریف شد تو local اگه بازم b رو خواستیم از local بیاره حالا. در صورتی که چنین چیزی نیست در حالت کلی(اخرش تو پرانتز گفتم). ما باید bytecode تولید شده رو ببینیم و بعد بگیم چه رفتاری داره. یعنی میشد که اونجوری هم پیاده سازی بشه ولی efficient نیست اصلا حالا جلوتر میگم چرا.
اسکوپ متغیر ها در زمان compile مشخص میشه نه runtime و این قانون داره اولویت ها رو مشخص میکنه که تو "compile time" چطور resolve بشن. وقتی کامپایلر یه assignment میبینه داخل فانکشن، اون متغیر رو mark میکنه که local هست و تو runtime وقتی شما اون متغیر رو بخواید "فقط" توی namespace عه local دنبالش میگرده اگه بود میاره اگه نبود error میده.
متغیر ها توی global توی یک دیکشنری ذخیره میشن، ولی توی local توی آرایه هستن خیلی سریعتر هستن چون با ایندکس بهش دسترسی پیدا میکنید نه دیکشنری lookup. یعنی جاش مشخصه اصلا کجاست تو آرایه. اونتو یا متغیر هست که میاره یا نیست که میگه:
UnboundLocalError: cannot access local variable 'b' where it is not associated with a value
وقتی اون آرایه رو گشت و نبود دیگه گشتن رو متوقف میکنه و پروسه تموم میشه برای این efficient تره. یا وقتی mark شد که global هست دیگه نمیاد اول local رو بگرده ببینه نیست بعد بره تازه global رو بگرده.
بایت کد های یک فانکشن رو بدون ران کردنش نگاه کنید میبینید LOAD_FAST و LOAD_GLOBAL داره. LOAD_FAST منظورش local variable هست که با index عه اون یکی هم اسمش مشخصه.
(من یه ذره موقع توضیح دادن تغییر دادم نحوه ی سرچ کردن متغیر رو رو چون شامل حال سوال شما نمیشه و توضیحاتی که دادم اینجا درسته، ولی یه جاهایی هم هست که واقعا "گشتن" داریم که سر builtin که مثلا تو LOAD_GLOBAL سرچ میشه یا LOAD_NAME که سرچ میکنه چند تا name space رو میگرده تا پیدا کنه. سر local و enclosing هیچوقت اینطوری نیست)
تشکر از سروش که همیشه دقیق کمک میکنه ❤️
قانون LEGB یکم سو تفاهم هست درش. بعضیا فکر میکنن این قانون داره میگه اگه local نبود پس میره enclosing رو "میگرده"،اگه نبود میره global رو "میگرده" تا پیدا کنه و انتظار دارن مثال دوم کار بکنه و اولین b رو از global بیاره و بعد که تعریف شد تو local اگه بازم b رو خواستیم از local بیاره حالا. در صورتی که چنین چیزی نیست در حالت کلی(اخرش تو پرانتز گفتم). ما باید bytecode تولید شده رو ببینیم و بعد بگیم چه رفتاری داره. یعنی میشد که اونجوری هم پیاده سازی بشه ولی efficient نیست اصلا حالا جلوتر میگم چرا.
اسکوپ متغیر ها در زمان compile مشخص میشه نه runtime و این قانون داره اولویت ها رو مشخص میکنه که تو "compile time" چطور resolve بشن. وقتی کامپایلر یه assignment میبینه داخل فانکشن، اون متغیر رو mark میکنه که local هست و تو runtime وقتی شما اون متغیر رو بخواید "فقط" توی namespace عه local دنبالش میگرده اگه بود میاره اگه نبود error میده.
متغیر ها توی global توی یک دیکشنری ذخیره میشن، ولی توی local توی آرایه هستن خیلی سریعتر هستن چون با ایندکس بهش دسترسی پیدا میکنید نه دیکشنری lookup. یعنی جاش مشخصه اصلا کجاست تو آرایه. اونتو یا متغیر هست که میاره یا نیست که میگه:
UnboundLocalError: cannot access local variable 'b' where it is not associated with a value
وقتی اون آرایه رو گشت و نبود دیگه گشتن رو متوقف میکنه و پروسه تموم میشه برای این efficient تره. یا وقتی mark شد که global هست دیگه نمیاد اول local رو بگرده ببینه نیست بعد بره تازه global رو بگرده.
بایت کد های یک فانکشن رو بدون ران کردنش نگاه کنید میبینید LOAD_FAST و LOAD_GLOBAL داره. LOAD_FAST منظورش local variable هست که با index عه اون یکی هم اسمش مشخصه.
(من یه ذره موقع توضیح دادن تغییر دادم نحوه ی سرچ کردن متغیر رو رو چون شامل حال سوال شما نمیشه و توضیحاتی که دادم اینجا درسته، ولی یه جاهایی هم هست که واقعا "گشتن" داریم که سر builtin که مثلا تو LOAD_GLOBAL سرچ میشه یا LOAD_NAME که سرچ میکنه چند تا name space رو میگرده تا پیدا کنه. سر local و enclosing هیچوقت اینطوری نیست)
تشکر از سروش که همیشه دقیق کمک میکنه ❤️
👍7❤3
جنگولرن
ویس مصاحبه با صفا صفری، محقق امنیت صفا تازگی ها طلای مسابقات ملی مهارت رو گرفته و در حال تمرین برای مسابقات جهانی هست. مصاحبه توی هنرستان شهید دبیریان، منطقه 16 تهران به صورت آنلاین برگزار شد این بار سوالات بچه هارو حذف نکردم و اتفاقا گفتگو قشنگی شد. لینک…
Media is too big
VIEW IN TELEGRAM
ویدئو مصاحبه با صفا
البته ویس رو گوش بدید بهتره.
چون توی ویدئو فقط من هستم .
ولی برای آرشیو اینجا آپلودش میکنم.
لینک ویس:
https://t.iss.one/djangolearn_ir/1209
البته ویس رو گوش بدید بهتره.
چون توی ویدئو فقط من هستم .
ولی برای آرشیو اینجا آپلودش میکنم.
لینک ویس:
https://t.iss.one/djangolearn_ir/1209
❤3👎1
Forwarded from Milad Hatami
Media is too big
VIEW IN TELEGRAM
⭕️💢کافه جنگو💢⭕️
آموزش جنگو پایتون
جلسه : پنجم
موضوع این جلسه: ادامه کار با مدل های وبلاگ و آشنایی با ORM جنگو
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_5
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
آموزش جنگو پایتون
جلسه : پنجم
موضوع این جلسه: ادامه کار با مدل های وبلاگ و آشنایی با ORM جنگو
رشته: فنی پایه 11 کتب جدید
پایه: 11 فنی و 11 و 12 کاردانش
درس: وب
سطح: متوسط
مدرس: مهندس حاتمی
🔻🔻🔻🔻🔻🔻
#کافه_دانش
#کافه_جنگو
#جلسه_5
#سطح_متوسط_پیشرفته
#توسعه_وب
#یادگیری_مفاهیم_وب
#دبیرخانه_کشوری_رایانه
#مستقر_در_استان_زنجان
#کانال_شاد_دبیرخانه_رایانه
@Yvt_computer
#کافه_دانش
t.iss.one/Zncd_ir_Cafe
#آدرس_سایت_دبیرخانه_رایانه
ZNCD.ir
❤3👍1
جنگولرن
⭕️💢کافه جنگو💢⭕️ آموزش جنگو پایتون جلسه : پنجم موضوع این جلسه: ادامه کار با مدل های وبلاگ و آشنایی با ORM جنگو رشته: فنی پایه 11 کتب جدید پایه: 11 فنی و 11 و 12 کاردانش درس: وب سطح: متوسط مدرس: مهندس حاتمی 🔻🔻🔻🔻🔻🔻 #کافه_دانش #کافه_جنگو #جلسه_5 #سطح_متوسط_پیشرفته…
جلسه 5 کلاس جنگو برای هنرستان
بر مبنای کتاب Django 5 By Example
توی این ویدئو که برای همکاران هنرستانی برگزار شد، مدل post رو یکم تغییر دادیم.
به پست، فیلد status رو اضافه کردیم و بعدش بین مدل user و post ارتباط یک به چند برقرار کردیم.
سپس با استفاده از orm جنگو کوئری های مختلفی زدیم و نتیجه رو توی خروجی وبلاگ مشاهده کردیم.
توی این دوره قراره بر اساس کتاب Django 5 By Example پیش بریم. ولی مفاهیمی فراتر از کتاب رو قطعا پوشش خواهیم داد.
تمرکز این دوره بر پرسش و پاسخ خواهد بود. که بتونیم به همکاران راهنمایی بدیم.
لینک ویدئو در آپارات:
https://www.aparat.com/v/fcas62b
بر مبنای کتاب Django 5 By Example
توی این ویدئو که برای همکاران هنرستانی برگزار شد، مدل post رو یکم تغییر دادیم.
به پست، فیلد status رو اضافه کردیم و بعدش بین مدل user و post ارتباط یک به چند برقرار کردیم.
سپس با استفاده از orm جنگو کوئری های مختلفی زدیم و نتیجه رو توی خروجی وبلاگ مشاهده کردیم.
توی این دوره قراره بر اساس کتاب Django 5 By Example پیش بریم. ولی مفاهیمی فراتر از کتاب رو قطعا پوشش خواهیم داد.
تمرکز این دوره بر پرسش و پاسخ خواهد بود. که بتونیم به همکاران راهنمایی بدیم.
لینک ویدئو در آپارات:
https://www.aparat.com/v/fcas62b
آپارات - سرویس اشتراک ویدیو
آموزش جنگو برای هنرستانی ها جلسه 4
توی این ویدئو که برای همکاران هنرستانی برگزار شد، مدل post رو یکم تغییر دادیم.
به پست فیلد status اضافه کردیم و بعدش بین مدل user و post ارتباط یک به چند برقرار کردیم.
سپس با استفاده از orm جنگو کوئری های مختلفی زدیم و نتیجه رو توی خروجی وبلاگ مشاهده کردیم.…
به پست فیلد status اضافه کردیم و بعدش بین مدل user و post ارتباط یک به چند برقرار کردیم.
سپس با استفاده از orm جنگو کوئری های مختلفی زدیم و نتیجه رو توی خروجی وبلاگ مشاهده کردیم.…
❤2
قابلیت Password-based authentication در جنگو
عکس رو ببین.
وقتی میخوای یوزر توی پنل ادمین بسازی (در حالت پیشفرض منظورم هست)
میتونی اینو فعال یا غیرفعال کنی.
مشخص میکنی که کاربر با پسورد لاگین کنه یا نه (مثلا فقط بتونه با کد یکبار مصرف لاگین کنه، غیرفعالش میکنی یا...)
این تنظیم از جنگو 5.1 اضافه شده.
اما اینو ننوشتم که بگم عجب فیچر خاصی، به نظرم زیادم خاص نیست.
میخوام شمارو دعوت کنم به pr یی که براش ثبت شده و مکالمه هایی که رد و بدل شده، تا ایده اولیه، این شده (به تاریخ pr و تاریخ merge دقت کن)
این لینک:
https://github.com/django/django/pull/16942
راستی، فارسی ش کار نمیکنه ظاهرا، تا دیر نشده فارسی ش رو pr بده 😁
عکس رو ببین.
وقتی میخوای یوزر توی پنل ادمین بسازی (در حالت پیشفرض منظورم هست)
میتونی اینو فعال یا غیرفعال کنی.
مشخص میکنی که کاربر با پسورد لاگین کنه یا نه (مثلا فقط بتونه با کد یکبار مصرف لاگین کنه، غیرفعالش میکنی یا...)
این تنظیم از جنگو 5.1 اضافه شده.
اما اینو ننوشتم که بگم عجب فیچر خاصی، به نظرم زیادم خاص نیست.
میخوام شمارو دعوت کنم به pr یی که براش ثبت شده و مکالمه هایی که رد و بدل شده، تا ایده اولیه، این شده (به تاریخ pr و تاریخ merge دقت کن)
این لینک:
https://github.com/django/django/pull/16942
راستی، فارسی ش کار نمیکنه ظاهرا، تا دیر نشده فارسی ش رو pr بده 😁
🔥8❤1👍1
سلام به همه
کسی از "کنار دیوار" استفاده کرده؟
اگه تجربه ای دارید بگید.
این boilerplate ش هست:
https://github.com/divar-ir/kenar-boilerplate
جنگو عه
کسی از "کنار دیوار" استفاده کرده؟
اگه تجربه ای دارید بگید.
این boilerplate ش هست:
https://github.com/divar-ir/kenar-boilerplate
جنگو عه
✍4
جنگولرن
سلام به همه کسی از "کنار دیوار" استفاده کرده؟ اگه تجربه ای دارید بگید. این boilerplate ش هست: https://github.com/divar-ir/kenar-boilerplate جنگو عه
Audio
توضیحات محمدرضا در مورد کنار دیوار
دم شما گرم
سه تا ویس بود. یکی شون کردم.
دم شما گرم
سه تا ویس بود. یکی شون کردم.
👍3