جنگولرن
3.82K subscribers
287 photos
74 videos
31 files
557 links
آموزش Django و بستگان
Download Telegram
چهارمین جلسه اسکایپی آموزش ویوهای کلاس بیس جنگو
زمان جمعه: 18 تیر 1400 ساعت 10 صبح
توی این جلسه می خواهیم ویوهای Class-based رو ادامه بدیم
خیلی فاصله افتاد بین این جلسه و جلسه قبلی، عذرخواهی میکنم.
امیدوارم جلسه خوبی باشه.
برای ثبت نام در کلاس به @miladhzz پیام بدید
ثبت نام در بوت کمپ Django دانشجویار شروع شد!
☑️ مدت زمان این بوت کمپ 7 هفته و به صورت آنلاین هست.
☑️ هر هفته یک جلسه خصوصی آنلاین و رایگان جهت رفع اشکال با من خواهید داشت.
☑️ در صورتی که عضو این بوت کمپ باشید و تمرین های هر هفته و در نهایت تمرین نهایی رو با موفقیت انجام بدید، مدرک معتبر هم دریافت خواهید کرد.
خوشحال میشم شمارو همراهی کنم.
لینک بوت کمپ جنگو دانشجویار:
https://www.daneshjooyar.com/bootcamp/django/
👍1
چهارمین جلسه رایگان اسکایپی جنگو
با موضوع ویوهای Class-based روز جمعه 18 تیر 1400برگزار شد.
توی این جلسه در مورد UpdateView و جزییاتش صحبت کردیم.
چند تا سوال از دانشجوهای محترم رو هم جواب دادم.
لینک آپارات:
https://www.aparat.com/v/z3xAO/

لینک یوتیوب:
https://youtu.be/28coLczPTkk
ا سلام و احترام خدمت شما عزیزان 🌹🌹

پیش فروش کتاب «آموزش کاربردی جنگو (Django)» در سایت PendarePars.com شروع شد.

© قیمت پشت جلد: 200 هزار تومان
© قیمت در فاز پیش فروش (تخفیف ویژه): 150 هزار تومان
© سطح: مقدماتی تا پیشرفته
© صفحات: 544 صفحه
© نوع اثر: تألیف و ترجمه
© نسخه: چاپی (نه دیجیتالی/الکترونیکی)
© نویسنده: علیرضا عظیم زاده (@WellcomeBackDear)
© ناشر: پندار پارس - https://PendarePars.com
© پیش نیاز: آشنایی با پایتون (در سطح پیش متوسط) و زبان انگلیسی (در سطح سال آخر دبیرستان)
© سازگار با نسخه های: 3.2، 4 و 5 جنگو (توضیح لازم در فایل ارائه شده است).

© فاز پیش فروش (با تخفیف ویژه) فقط و فقط تا پایان روز جمعه (1400/05/15) فعال است.
© کتاب تا آخر مرداد ماه چاپ و برای عزیزان پست خواهد شد (به سراسر ایران).

Link:
https://www.pendarepars.com/book/کتاب-آموزش-کاربردي-جنگو-django-قويترين-فريمورک-توسعه-وب-اپليکيشن-پايتون/
کاربرد Data Migrations توی جنگو چیه؟
با استفاده از Data migrations می تونیم داده های پیش فرضی هنگام Migrate کردن به دیتابیس اضافه کنیم.
🙄 خیلی ساده یعنی چی؟
وقتی ما مدل هارو میسازیم و makemigrations بعدش migrate می کنیم، جداول توی دیتابیس برای ما ساخته میشه. اما هیچ دیتایی ندارند.
حالا فرض کنید به هر دلیلی میخواهیم بعد از
migrate
توی جدول خاصی دیتا داشته باشیم، می تونیم از این قابلیت استفاده کنیم. توی استک های دیگه بهش seed data هم میگن.

لینک های زیر توضیح داده شده:
https://docs.djangoproject.com/en/3.2/topics/migrations/#data-migrations

https://www.remoteinning.com/blog/data-migrations-in-django-101
ده تا اشتباه رایج برنامه نویس های جنگو
(البته درستش Django Developers هست)
1: Using the Global System Python Environment for Project Dependencies
2: Not Pinning Project Dependencies in a requirements.txt File
3: Using Old-style Python Functions Instead of Class-based Views
4: Writing Fat Views and Skinny Models
5: A Huge, Unmanageable Settings File
6: All-in-one Application, Bad Application Structure, and Incorrect Resource Placement
7: STATICFILES_DIRS and STATIC_ROOT Confuse Newbie Django Developers
8: Default STATICFILES_STORAGE, Django Templates Loaders in Production
9: Pure Python Scripts for Utilities or Scripts
10: Reinventing the Wheel
توضیحات هر مورد رو توی لینک زیر ببینید:
https://www.toptal.com/django/django-top-10-mistakes
👍1
28 تا best practice توی کار با مدل های جنگو (عناوین مقاله رو اینجا گذاشتم)
برای دیدن جزییات لینک رو باز کنید.
1. Correct Model Naming
2. Relationship Field Naming
3. Correct Related-Name
4. Do not use ForeignKey with unique=True
5. Attributes and Methods Order in a Model
6. Adding a Model via Migration
7. Denormalisations
8. BooleanField
9. Business Logic in Models
10. Field Duplication in ModelForm
11. Do not use ObjectDoesNotExist
12. Use of choices
13. Why do you need an extra .all()?
14. Many flags in a model?
15. Redundant model name in a field name
16. Dirty data should not be found in a base
17. Getting the earliest/latest object
18. Never make len(queryset)
19. if queryset is a bad idea
20. Using help_text as documentation
21. Money Information Storage
22. Don't use null=true if you don't need it
23. Remove _id
24. Define unicode or str
25. Transparent fields list
26. Do not heap all files loaded by user in the same folder
27. Use abstract models
28. Use custom Manager and QuerySet
لینک:
https://steelkiwi.com/blog/best-practices-working-django-models-python/
دوره مقدماتی جنگو در دانشجویار به مناسبت محرم رایگان شد.
لینک:
https://www.daneshjooyar.com/django-basic-learning/
اگه دقت کرده باشید توی فایل settings.py در جنگو خیلی تاکید شده که مراقب SECRET_KEY باشید. به جای اینکه دلایل رو توضیح بدم، لینک کدهای جنگو که صراحتا SECRET_KEY رو استفاده کردن اینجا میگذارم. بد نمیشه یه نگاه بندازید. (لینک ها همه مربوط به ریپازیتوری اصلی جنگو و نسخه 3.1.x هستن)

1- https://github.com/django/django/blob/stable/3.1.x/django/contrib/auth/tokens.py
2- https://github.com/django/django/blob/stable/3.1.x/django/core/checks/security/base.py
3- https://github.com/django/django/blob/stable/3.1.x/django/core/signing.py
4- https://github.com/django/django/blob/stable/3.1.x/django/utils/crypto.py
5⃣ پنجمین جلسه رایگان اسکایپی آموزش ویوهای کلاس بیس جنگو
زمان جمعه: 29 مرداد 1400 ساعت 10 صبح
توی این جلسه می خواهیم ویوهای Class-based رو ادامه بدیم
امیدوارم جلسه خوبی باشه.
برای ثبت نام در کلاس به @miladhzz پیام بدید
پنجمین جلسه رایگان اسکایپی جنگو
این قسمت توضیحاتی در مورد DeleteView ارائه کردم و به سوالات دانشجوها پاسخ دادم.
توی این قسمت با مشکلات مختلفی مواجه شدیم. اسکایپ کند بود و جلسه رو با گوگل میت ادامه دادیم. دوباره سرعت اینترنت اذیت کرد و از اینترنت موبایل استفاده کردم.
😅 سوتی هایی هم توی Override کردن متدها داشتم، اگه متوجه اشتباه شدید، راه حل پیشنهادی رو کامنت کنید.
لینک آپارات:
https://www.aparat.com/v/9hnc4/

لینک یوتیوب:
https://youtu.be/XNWGzVD3QhQ
سلام به همه
امیدوارم حالتون خوب باشه
قطعا خیلی از شماها تجربه مصاحبه برای شغل برنامه نویس جنگو رو دارید.
معمولا موارد زیر، در کنار سوالات تخصصی Django پرسیده میشه:
- در مورد لینکوس
- آشنایی با دیزاین پترن ها
- اصول SOLID و Clean Code
- مفاهیم طراحی الگوریتم و ساختمان داده و...
- آشنایی با DRF و مفاهیم REST
- مباحث Multi Threading
- مفاهیم Async
- مفاهیم Concurrency
- میکروسرویس
- مفاهیم اعتبارسنجی Authentication و Authorization
- تکنولوژی ها و روشهایی مثل JWT و OAuth2 و SSO و...
- ابزارها و روش های Caching
- دیتابیس های رابطه ای و مفاهیم نرمال سازی و...
- دیتابیس های NoSQL
- آشنایی با ORM جنگو و بهینه سازی کوئری ها
- ابزارهای Message Broker
- آشنایی با Celery و Redis و...
- آشنایی با Docker و مفاهیم مرتبط با اون
- آشنایی با GIT و سورس کنترل ها
- آشنایی با اجایل و ابزارهای و متدولوژی های مدیریت پروژه و جیرا ...
- آشنایی با تست نویسی و Unit Test و TDD و BDD و...
- آشنایی با WSGI server و حتی nginx و کانفیگ سرور و...
- و خیلی موارد دیگه که آدم هنگ میکنه

🤣🤣🤣 آخرش هم میگن حقوق 10 میلیون و بیمه هم پایه اداره کار واریز می کنیم. چون به نفع خودتون هست مالیات کمتری میدید...
من اعتقاد دارم که همه کاره هیچ کاره است. و به خاطر همین آگهی ها و این شغل هاست که سیستم ها به راحتی حک (شایدم هک) میشن.
ولی بعضی از موارد بالا رو نیازه تا حد مناسبی بلد باشیم (اگه برنامه نویس هستیم)
قصد دارم در کنار آموزش اسکایپی ویوهای کلاس بیس، بعضی وقتها جلساتی در مورد چندتا از موردهای بالا داشته باشیم و آنلاین با همدیگه تبادل اطلاعات کنیم.
اگه تا اینجا سوالی هست، در خدمتم.
تشکر - میلاد حاتمی
👍4
سلام به همه
امیدوارم حالتون خوب باشه
چند روزی در استراحت بودم. جای همه خالی
معمولا روزهای استراحت تلگرام رو چک نمی کنم.
وقتی کار مهمی دارید و کمک نیاز دارید. (مثلا پروژه تون مشکل عجیبی پیدا کرده و مشتری داره روی مختون راه میره... و از این نوع کارهای مهم)
بهم پیامک بدید
شماره اصلی من 09384677005
ان شاالله این هفته کلاس آنلاین اسکایپی برگزار می کنیم. اطلاع رسانی خواهم کرد.
تشکر - حاتمی
در جنگو برای GROUP BY از values استفاده می کنیم.
اگه درک values و روش درست استفاده اش برای شما سخته میتونید از لینک زیر استفاده کنید.
کوئری های SQL رو کنار دستورات ORM جنگو قرار داده که فهم موضوع رو راحت تر میکنه.
https://hakibenita.com/django-group-by-sql
سلام به همه
ان شاالله جمعه این هفته جلسه ششم ویوهای کلاس بیس جنگو برگزار میشه.
تاریخ 2 مهر 1400 جمعه ساعت 10 صبح
اگه فرصت شد در مورد دیزاین پترن ها هم یکم صحبت می کنیم.
سلام. وقتتون بخیر .دیروز به تاریخ ۲ مهر ۱۴۰۰ دوره آموزش طراحی سایت فروشگاهی با جنگو از مدرس میلاد حاتمی رو خریداری کردم. این آموزش برخلاف سایر آموزشای خوب و پرمحتوای سایت خوب دانشجویار , به صورت شگفت انگیزی گنگ و صرفا یه نوع حفظ کد بود و خیلی مواقع مدرس فقط به نوشتن کد بسنده میکرد بدون هیچ توضیحی. کاملا مشخص بود که کد متعلق به خود مدرس نبوده مخصوصا بخش مربوط به سبد خرید {قسمت های ۶ تا ۹} که مهمترین قسمت آموزش همین قسمت ها بودن. واقعا این آموزش در حد عنوانی که براش انتخاب شده نبود. لذا به دلیل گنگ بودن و سطح پایین آموزش و حتی کیفیت پایین ویدیو ضبط شده , تقاضای بازگشت وجه رو دارم - تاریخ ۱۴۰۰/۰۷/۰۳

نظری در مورد دوره آموزش ساخت فروشگاه اینترنتی. از ادمین خواستم که این نظر رو توی نظرات دوره بگذارن که بقیه هم ببینن.
من قسمت های 6 تا 9 رو اخیرا دوباره ضبط کردم و توضیحاتی رو اضافه کردم. ولی ظاهرا هنوز خوب نشده. البته کدی که استفاده کردم کد خارجی ها بود، مثل وقتهایی که دست به دامن StackOverFlow میشیم.
باور کنید منم هنوز regex برای email رو سرچ میکنم.
هیچوقت انتظار نداشته باشید یه آموزش همه چیز رو توضیح بده. همانطوری که استادها توی دانشگاه نمی تونن همه چیو توضیح بدن. از آموزش ها کلیات رو یاد بگیرید، جزئیات رو توی کار خود به خود یاد میگیرید.
ششمین جلسه رایگان اسکایپی جنگو
این ویدئو رو با دکوریتور بررسی لاگین بودن کاربر و میکسین های شبیه به اون که برای ویوهای کلاس بیس استفاده میشه شروع کردیم. یاد گرفتیم که چطور میشه از دکوریتور های فانکشن بیس برای کلاس بیس ویوها استفاده کنیم.
در ادامه آموزش توضیحاتی در مورد متد Dispatch ارائه کردیم و با هم در مورد چند تا نکته توی جنگو صحبت کردیم. قرار شد جلسه بعدی رو یکی از دوستان شروع کنه و مطالبی در مورد دیزاین پترن ها برای ما توضیح بده
لینک آپارات:
https://www.aparat.com/v/4eTDM

لینک یوتیوب:
https://youtu.be/KMr1LK84z3M
Forwarded from Django Expert (Hêmn Hosseinpana)
پیکربندی لاگ زدن در جنگو - django logging

در این سری از ویدیوها که به ترفندها و نکته های جنگو میپردازیم، به سراغ لاگ زدن در جنگو رفتیم و کانفیگ ها و شیوه پیکربندی آن را از طریق بررسی و خواندن کد داخلی جنگو، شرح دادیم. در این ویدیو به جای کد نوشتن، بیشتر کد خوندیم که بفهمیم جنگو خودش برای لاگ زدن چگونه کار میکند و ما چگونه میتونیم از آن استفاده کنیم. همچنین امکان django logging را در سرویس های کلودی مانند sentry و APM هم مطرح کردیم. این مفاهیم رو در پروژه مینی ترلو به شکل عملی استفاده میکنیم.


video link: https://youtu.be/LGatKmpL7k8

playlist: https://www.youtube.com/playlist?list=PLJ9zDGwhhsBwdrfdaoOqbYev3_ocuBOfv

#django #logging #microfrontend_ir
〰️〰️〰️〰️〰️
©️ @DjangoEx
سلام به همه
ان شاالله جمعه این هفته جلسه هفتم ویوهای کلاس بیس جنگو برگزار میشه.
تاریخ 5 آذر 1400 جمعه ساعت 10 صبح (البته شاید ساعت رو تغییر بدیم، شاااااااید)
قراره یکی از دوستان از کتاب Django Design Patterns and Best Practices در مورد دیزاین پترن ها صحبت کنن.