✅ آپدیت دوره مقدماتی آموزش جنگو منتشر شد.
افرادی که قبلا این دوره رو خریداری کردن، به همه محتوای این دوره هم دسترسی دارند.
لینک:
https://www.daneshjooyar.com/django-basic-learning/
افرادی که قبلا این دوره رو خریداری کردن، به همه محتوای این دوره هم دسترسی دارند.
لینک:
https://www.daneshjooyar.com/django-basic-learning/
دانشجویار
دوره رایگان آموزش جنگو (Django) | شروعی حرفهای همراه با پروژههای واقعی
اگر به دنبال راهی مطمئن، سریع و قدرتمند برای ورود به دنیای برنامهنویسی وب هستید، یادگیری فریمورک جَنگو (Django) یکی از بهترین انتخابهایی است که میتوانید داشته باشید. این دوره آموزشی رایگان، فرصتی بینظیر است برای علاقهمندان به برنامهنویسی وب، دانشجویان…
✅ با توجه به نظرسنجی برگزار شده، اولین جلسه آنلاین آموزش Django Class-based Views به صورت زیر برگزار میشه، ان شاالله:
صبح جمعه 27 فروردین 1400 ساعت 10 صبح
نرم افزار اسکایپ (اگه تا اون موقع تحریممون نکنه)
دوستانی که تمایل به حضور دارند به @miladhzz پیام بدید
در صورتی که به هر دلیلی امکان برگزاری نبود، قبلش اطلاع رسانی میکنم.
صبح جمعه 27 فروردین 1400 ساعت 10 صبح
نرم افزار اسکایپ (اگه تا اون موقع تحریممون نکنه)
دوستانی که تمایل به حضور دارند به @miladhzz پیام بدید
در صورتی که به هر دلیلی امکان برگزاری نبود، قبلش اطلاع رسانی میکنم.
✅ ویدئوی اولین جلسه اسکایپی آموزش ویوهای کلاس محور در جنگو
✔️ توی این آموزش لایو کد زدیم و به همه سوالات در مورد ListView ، متد Dispatch، اولویت متدها در ListView ، نحوه Override کردن متدها و... جواب دادم. اگه فیلترشکن پرسرعت ندارید میتونید از سایت جنگولرن ویدئو رو ببینید.
لینک آپارات:
https://www.aparat.com/v/R1UKJ
لینک یوتیوب:
https://youtu.be/drcYT8YfdDg
لینک جنگولرن:
https://djangolearn.ir/381/
✔️ توی این آموزش لایو کد زدیم و به همه سوالات در مورد ListView ، متد Dispatch، اولویت متدها در ListView ، نحوه Override کردن متدها و... جواب دادم. اگه فیلترشکن پرسرعت ندارید میتونید از سایت جنگولرن ویدئو رو ببینید.
لینک آپارات:
https://www.aparat.com/v/R1UKJ
لینک یوتیوب:
https://youtu.be/drcYT8YfdDg
لینک جنگولرن:
https://djangolearn.ir/381/
آپارات - سرویس اشتراک ویدیو
آموزش رایگان اسکایپی جنگو، ویوهای Class-based قسمت اول
توی این آموزش که با هماهنگی قبلی برگزار شد در مورد ویوهای کلاس بیس جنگو صحبت کردیم. با هم کد زدیم و جزییات لیست ویو رو یاد گرفتیم.
جلسه بعد به امید خدا در مورد
CreateView و...
صحبت می کنیم.
جلسه بعد به امید خدا در مورد
CreateView و...
صحبت می کنیم.
✅ دومین جلسه اسکایپی آموزش ویوهای کلاس بیس جنگو منتشر شد
توی این ویدئو که همراه با پرسش و پاسخ بود در مورد CreateView یاد گرفتیم.
با متد reverse_lazy هم آشنا شدیم و یاد گرفتیم که چرا باید توی class-based view ها ازش استفاده کنیم.
لینک ویدئو در جنگولرن (اگه وی پی ان ندارید):
https://djangolearn.ir/388/
لینک ویدئو در یوتیوب:
https://youtu.be/DuK-Yxysox4
توی این ویدئو که همراه با پرسش و پاسخ بود در مورد CreateView یاد گرفتیم.
با متد reverse_lazy هم آشنا شدیم و یاد گرفتیم که چرا باید توی class-based view ها ازش استفاده کنیم.
لینک ویدئو در جنگولرن (اگه وی پی ان ندارید):
https://djangolearn.ir/388/
لینک ویدئو در یوتیوب:
https://youtu.be/DuK-Yxysox4
YouTube
آموزش ویوهای کلاس محور با اسکایپ - جلسه دوم
توی این ویدئو یاد گرفتیم با
CreateView
کار کنیم. با متدها و اتریبیوت هاش آشنا شدیم. دلیل استفاده از
reverse_lazy
رو عمیقا درک کردیم :)
منم از دوستان نکته هایی یاد گرفتم. جلسه بعد هم ان شاالله هماهنگ خواهیم کرد
CreateView
کار کنیم. با متدها و اتریبیوت هاش آشنا شدیم. دلیل استفاده از
reverse_lazy
رو عمیقا درک کردیم :)
منم از دوستان نکته هایی یاد گرفتم. جلسه بعد هم ان شاالله هماهنگ خواهیم کرد
Forwarded from Deleted Account
لینک کانال آپارت مهندس سلیمانی. ایشون برنامه نویس ارشد پایتون/جنگو در شرکت مهسان هستن و تسلط خیلی خوبی دارن. ویدئوها از مقدماتی شروع شده و با جزییات هست. توصیه میکنم ببینید. https://www.aparat.com/pythontalks
آپارات - سرویس اشتراک ویدیو
آپارات | پایتون جنگو
در این کانال مجموعه ویدئوهای آموزشی مرتبط با پایتون، جنگو و توسعه وب منتشر میشه.
✅ سومین جلسه اسکایپی آموزش ویوهای کلاس بیس جنگو
زمان جمعه: 31 اردیبهشت 1400 ساعت 10 صبح
⚠️ توی این جلسه می خواهیم CreateView رو ادامه بدیم و چیزهایی که دوستان میخوان رو با هم پیاده سازی کنیم.
پس مشکلاتی که دارید رو لیست کنید تا با هم رفعشون کنیم و منم از شما یاد بگیرم.
امیدوارم جلسه خوبی باشه.
برای ثبت نام در کلاس به @miladhzz پیام بدید
زمان جمعه: 31 اردیبهشت 1400 ساعت 10 صبح
⚠️ توی این جلسه می خواهیم CreateView رو ادامه بدیم و چیزهایی که دوستان میخوان رو با هم پیاده سازی کنیم.
پس مشکلاتی که دارید رو لیست کنید تا با هم رفعشون کنیم و منم از شما یاد بگیرم.
امیدوارم جلسه خوبی باشه.
برای ثبت نام در کلاس به @miladhzz پیام بدید
✅ سومین جلسه اسکایپی آموزش ویوهای Class-based برگزار شد.
ویدئوی این جلسه رو میتونید از آپارات و یوتیوب و سایت جنگولرن ببینید.
☑️ لینک ویدئو در یوتیوب:
https://youtu.be/lbUuRNwVyMU
✅ لینک ویدئو در آپارت:
https://www.aparat.com/v/35swE
توی این ویدئو ابتدا توضیحاتی در مورد جدول های اصلی جنگو ارائه کردم
بعدش رفتیم سراغ کارهای واقعی، و فرم ثبت نام رو کاستوم کردیم
مثل یه پروژه واقعی شروع کردیم و با همفکری دوستان بهترین روش حل مساله رو پیاده سازی کردیم.
یاد گرفتیم که بهتره ویوهامون رو چاق نکنیم و در عوض منطق رو به فرم ها منتقل کنیم.
ویدئوی این جلسه رو میتونید از آپارات و یوتیوب و سایت جنگولرن ببینید.
☑️ لینک ویدئو در یوتیوب:
https://youtu.be/lbUuRNwVyMU
✅ لینک ویدئو در آپارت:
https://www.aparat.com/v/35swE
توی این ویدئو ابتدا توضیحاتی در مورد جدول های اصلی جنگو ارائه کردم
بعدش رفتیم سراغ کارهای واقعی، و فرم ثبت نام رو کاستوم کردیم
مثل یه پروژه واقعی شروع کردیم و با همفکری دوستان بهترین روش حل مساله رو پیاده سازی کردیم.
یاد گرفتیم که بهتره ویوهامون رو چاق نکنیم و در عوض منطق رو به فرم ها منتقل کنیم.
سلام به همه، امیدوارم حالتون خوب باشه
✅ تا حالا ۳ جلسه اسکایپی در مورد ویوهای کلاس بیس برگزار کردیم.
از اونجایی که میخواییم این جلسات کاربردی باشه، پس بهتره برای جلسه بعدی از همین الان مشخص کنیم که در مورد چیا صحبت کنیم و کدنویسی کنیم.
✅ اگه سوالی در مورد ویوهای Class-based جنگو دارید و میخواهید با هم به جوابش برسیم، لطفا اینجا (@djangolearn_ir) برای همین پست کامنت کنید. اگه سوال خوبی باشه توی جلسه آینده در موردش صحبت می کنیم.
موفق باشید
✅ تا حالا ۳ جلسه اسکایپی در مورد ویوهای کلاس بیس برگزار کردیم.
از اونجایی که میخواییم این جلسات کاربردی باشه، پس بهتره برای جلسه بعدی از همین الان مشخص کنیم که در مورد چیا صحبت کنیم و کدنویسی کنیم.
✅ اگه سوالی در مورد ویوهای Class-based جنگو دارید و میخواهید با هم به جوابش برسیم، لطفا اینجا (@djangolearn_ir) برای همین پست کامنت کنید. اگه سوال خوبی باشه توی جلسه آینده در موردش صحبت می کنیم.
موفق باشید
✅ چند مورد از Best Practice های توسعه در جنگو به همراه جایزه 🔥🔥🔥
این مطلب جمع آوری نظرات کاربران کانال تلگرامی Django Expert با آدرس https://t.iss.one/djangoex هست.
☑️ یکی از ادمین های این کانال پستی به عنوان مسابقه در کانال منتشر کرده و قراره جایزه هم بده.
با توجه به اینکه پاسخ ها به این مطلب از سمت افرادی هست که تجربه واقعی کار با فریمورک جنگو رو دارند، فکر کردم که بهتره پاسخ هارو با ذکر نام کاربر منتشر کنم، تا شاید برای دیگران هم مفید باشه.
☑️ من پاسخ ها به این پست رو منتشر می کنم (البته با یکم ویرایش) و هیچکدام از این موارد رو تایید و یا رد نمی کنم. اما کلیات مطلب رو مناسب دیدم و میتونه برای علاقمندان به جنگو مناسب باشه.
لینک:
https://vrgl.ir/PcwsX
این مطلب جمع آوری نظرات کاربران کانال تلگرامی Django Expert با آدرس https://t.iss.one/djangoex هست.
☑️ یکی از ادمین های این کانال پستی به عنوان مسابقه در کانال منتشر کرده و قراره جایزه هم بده.
با توجه به اینکه پاسخ ها به این مطلب از سمت افرادی هست که تجربه واقعی کار با فریمورک جنگو رو دارند، فکر کردم که بهتره پاسخ هارو با ذکر نام کاربر منتشر کنم، تا شاید برای دیگران هم مفید باشه.
☑️ من پاسخ ها به این پست رو منتشر می کنم (البته با یکم ویرایش) و هیچکدام از این موارد رو تایید و یا رد نمی کنم. اما کلیات مطلب رو مناسب دیدم و میتونه برای علاقمندان به جنگو مناسب باشه.
لینک:
https://vrgl.ir/PcwsX
✅ این کدها و جاهایی که بهش اشاره کردم رو ببینید.
کد بالایی کلاس CharFiled جنگو و کد پایینی هم متد get_context_data توی کلاس MultipleObjectMixin در جنگو هست.
تا حالا به این ستاره ها دقت کردید؟ الان این ستاره ها چکار میکنن؟ 🤔
توی لینک زیر همه ستاره های پایتون با مثال توضیح داده شده: خیلی کامله 😊
https://treyhunner.com/2018/10/asterisks-in-python-what-they-are-and-how-to-use-them/
کد بالایی کلاس CharFiled جنگو و کد پایینی هم متد get_context_data توی کلاس MultipleObjectMixin در جنگو هست.
تا حالا به این ستاره ها دقت کردید؟ الان این ستاره ها چکار میکنن؟ 🤔
توی لینک زیر همه ستاره های پایتون با مثال توضیح داده شده: خیلی کامله 😊
https://treyhunner.com/2018/10/asterisks-in-python-what-they-are-and-how-to-use-them/
جنگولرن
✅ این کدها و جاهایی که بهش اشاره کردم رو ببینید. کد بالایی کلاس CharFiled جنگو و کد پایینی هم متد get_context_data توی کلاس MultipleObjectMixin در جنگو هست. تا حالا به این ستاره ها دقت کردید؟ الان این ستاره ها چکار میکنن؟ 🤔 توی لینک زیر همه ستاره های پایتون…
یکی از دوستان این مقاله رو ترجمه کرده و توی ویرگول منتشر کرده.
لینک مقاله:
https://virgool.io/@amirvalizadeh/asterisks-in-python-yqme7tzc3lgi
لینک مقاله:
https://virgool.io/@amirvalizadeh/asterisks-in-python-yqme7tzc3lgi
✅ ثبت نام در بوت کمپ Django دانشجویار شروع شد!
☑️ مدت زمان این بوت کمپ 7 هفته و به صورت آنلاین هست.
☑️ هر هفته یک جلسه خصوصی آنلاین و رایگان جهت رفع اشکال با من خواهید داشت.
☑️ در صورتی که عضو این بوت کمپ باشید و تمرین های هر هفته و در نهایت تمرین نهایی رو با موفقیت انجام بدید، مدرک معتبر هم دریافت خواهید کرد.
خوشحال میشم شمارو همراهی کنم.
لینک بوت کمپ جنگو دانشجویار:
https://www.daneshjooyar.com/bootcamp/django/
☑️ مدت زمان این بوت کمپ 7 هفته و به صورت آنلاین هست.
☑️ هر هفته یک جلسه خصوصی آنلاین و رایگان جهت رفع اشکال با من خواهید داشت.
☑️ در صورتی که عضو این بوت کمپ باشید و تمرین های هر هفته و در نهایت تمرین نهایی رو با موفقیت انجام بدید، مدرک معتبر هم دریافت خواهید کرد.
خوشحال میشم شمارو همراهی کنم.
لینک بوت کمپ جنگو دانشجویار:
https://www.daneshjooyar.com/bootcamp/django/
👍1
✅ چهارمین جلسه رایگان اسکایپی جنگو
با موضوع ویوهای Class-based روز جمعه 18 تیر 1400برگزار شد.
توی این جلسه در مورد UpdateView و جزییاتش صحبت کردیم.
چند تا سوال از دانشجوهای محترم رو هم جواب دادم.
لینک آپارات:
https://www.aparat.com/v/z3xAO/
لینک یوتیوب:
https://youtu.be/28coLczPTkk
با موضوع ویوهای 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-قويترين-فريمورک-توسعه-وب-اپليکيشن-پايتون/
پیش فروش کتاب «آموزش کاربردی جنگو (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
با استفاده از 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
Remoteinning
Data migrations in Django 101
Writing data migrations in Django and learn to roll them back.
✅ ده تا اشتباه رایج برنامه نویس های جنگو
(البته درستش 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
(البته درستش 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
Toptal
Top 10 Mistakes That Django Developers Make
In this tutorial, we will look at some common mistakes that are often made by Django developers and ways to avoid them. Whether you're an expert or a new developer taking your first stab at Django, these mistakes are common among all types of Django developers.
👍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/
برای دیدن جزییات لینک رو باز کنید.
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/
globaldev.tech
Best practices working with Django models in Python
Here are some pieces of advice for working with Django models. Some of them might seem obvious, but, hopefully, every developer will find some use in at least one point.
✅ دوره مقدماتی جنگو در دانشجویار به مناسبت محرم رایگان شد.
لینک:
https://www.daneshjooyar.com/django-basic-learning/
لینک:
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
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