السلام عليكم , النهاردة هنتكلم عن اهم النصائح اللي لازم تاخد بالك منها لو انته شغال دجانجو او بتتعلم دجانجو , وانته بتتعلم دجانجو او وانته شغال دجانجو في بعض الحاجات المهمة جدا واللي بتفرق معاك بعد كدة في المشروع بتاعك

1 – استخدم virtualenv :

اول لما بدات اتعلم دجانجو كنت دايما بتسال ليه بنعمل virtualenv م اشتغل عادي علي نفس ال env اللي موجوده لما صطبت بايثون !! وفعلا اشتغلت كده وحصلت المشكله ... حصلي اكثر من مشكله منهم اني لما حاولت ارفع الكود live بمعني اني اعمل deploy وقتها مكنتش عارف المكتبات اللي انا استخدمتها واصدارتها ايه !! دا غير ان لما نزل اصدر جديد من دجانجو حصل مشاكل تانيه كتيير جدا وبعض المكتبات عملت conflict مع بعضها , لكن ب استخدام ال virtualenv تقدر تشتغل علي اي عدد من المشاريع مع عدد لا نهائي من اصدارات المكتبات وبسهوله جدا جدا تقدر تعمل deploy للمشروع وتبقي عارف اصدار كل مكتبه في المشروع عن طريق ملف ال requierments.txt اللي فيها كل المكتبات

2 – استخدم ال postgresql :

ال postgresql واحده من اقوي ال databases اللي موجوده واللي كل ال developers بتنصح انك تشتغل بيها من اول ال documentation خاصه بدجانجو واغلب المراجع بتنصح بيها , ف الافضل انك تتعلمها وتتعلم ازاي تستخدمها كويس وتتعامل معاها بدجانجو بمعني انك تشتغل عليها ع ال local وانته بتذاكر وده هيساعدك تتعلمها وتبتقي عارف المشاكل الخاصه بيها وكيفيه التعامل معاها

­­­­­­

3 – استخدم ال class based views :

يمكن تحس ان دي غريبه شويه لان ال function based views اسهل في التعامل ولكن الحقيقه ان ال class based views اسهل في التعامل من ال function ولكن في المشاريع الصغيره للمتوسطة لكن لو ال logic في ال view بقي كتيير يبقي الافضل انك تشتغل function , ال class كلها مميزات ولو اتعلمت ازاي تستخدمها هتستهل عليك شغل كتيير جدا جدا وهتستفاد من قوتها في حاجات زي ال mixins وال forms وسهوله كود ال view بالاضافه لانها نفس طريقه عمل ال Rest API ودة هيسهل عليك تتعامل مع ال REST API بسهوله

­­­­­­­­

4 – اتأكد من ال SSl , Https بعد ال deploy :

واحده من اشهر الاخطاء واللي اغلبنا مش بيعطي اهتمام كبييير ليها ف الاول وبينسي انه عملها configuration هي ال SSL Certificate واللي لازم تكون موجوده في المشروع وهي اللي بتمكن الموقع من انه يستخدم ال Https في الاتصالات مع ال server بدل ال http وده مهم جدا جدا ك security لو انته هتعمل deploy علي heroku ف دي ميزه موجوده فيه هتفعلها وهضيف ال configuration بتاعتها في ملف ال settings.py وهتشتغل معاك بسهوله جدا جدا دا غير انك في packages جاهزه بتساعدك في انك تضبط موقعك علي Heroku ولو انته هتعمل deploy علي digital ocean هتستخدم let's encrypt وهي مكتبه مجانيه وهتمكنك من انك تفعل ال ssl في موقعك

5 – استخدم ال Project layout اللي موجود في ال documentation :

ترتيب الفولدرات الخاصه بمشروع دجانجو زي ال templates . static files folders مهم جدا جدا اولا بيسهل عليك التعامل مع المشروع جدا وده هتعرفه كويس لو انته هتعمل مثلا inherit لل templates الخاصه ب ال admin الخاصه بدجانجو او لو انته حاولت بعد كده انك تحول الكود بتاعك ل package وكل المبرمجين تقدر تصطبها وكده , دا غير انك لو استخدمت ال layout ده django لواحدة هيبقي عارف مكان كل الملفات اللي في المشروع

6 – اعمل اغلب ال logic في ال models :

غريبه شويه النصيحه دي وهيكون ليها مقال خاصه بيها بأكثر من مثال لكن الفكره باختصار ان لو انا عندي logic في المشروع ف الافضل اني اكتب ال logic ده في ال models بدل ال views طبعا مش كل السيناريوهات تنفع لكن لو ينفع تطبق ال logic ف ي ال model يبقي ده الافضلوزي م قولت قبل كده هيبقي ليها مقال خاص بيها

بكده يبقي وضحت معاك اهم الحاجات اللي تاخد بالك منها وانته شغال دجانجو بالتوفيق وياريت تشاركني رايك في الكومنتات

#محمود_احمد