Django لمً وكيف استخدامه رحلة دجانقو 1

شرح لمكتبة ديجانقو

Mohammedمنذ 6 سنوات

 

السلام عليكم .

 

 

مكبتة دجانقو <django> للبايثون هي مكتبه لإنشاء  باكيند <backend> للمواقع.

الباكيند يقصد بها :هي مصطلح بين المطورين لوصف معالجة الاوامر والاستخدام التي تحصل فواجهة المستخدم من فلترة للمدخلات الى تحديد الروابط وربطها بصفحات الواجهه
 

السبب في تقسيم التطوير الى نوعين (font -end \ back end) :


هو لكي يسهل عملية التطوير للموقع

  • فالمصمم ل forntend يستطيع التركيز على تصماميم الموقع والتاكد من ان المستخدم يرى مايعجبه.
  • بينما المطور ال backend يستطيع التركيز على الجزء المنطقي للموقع .

 

طبعاً هذا لايعني انك لاتستطيع إتقان الاثنان  .. ولكن ستحتاج ان تتعلم مهارات كثيره وتقنيات مختلفه لكي تصل للمستوى المطور المتكامل او  ال fullstack developer
ومقالاتي فالوقت الحالي ستتركز على الجزء الخلفي من الموقع .

 

اليوم هو الخميس 19 من ابريل قررت ان انتج شيئ يفيد المطور العربي بسبب اني مطور عربي واعرف الصعوبات التي تحصل .. من لغة الى ضعف اتصلال, 
فلهذا ستكون هذي المسيره 100% مقالات واجزاء.

لن اشرح مفاهيم برمجيه ... هذي المقالات هي لشرح المكتبة اذا تريد ان تتعلم بايثون فلن تجد مرادك هنا!!.

سنبدء اليوم بتحميل المتطلبات لكي نبدء فالتدريب على مكتبة دجانقو 

التثبيت :

المتطلب الاول هو انت تحمل بايثون طبعا:
 

المقالات سوف تركز على نسخه 3.6 من بايثون

 


السبب هو انها متكاملة والنسخه الاخيرة من دجانقو لاتدعم النسخ القديمة من بايثون.

 

بعد كذا تحتاج برنامج تبرمج فيه .. طبعا تقدر تستخدم الي تبي انا افضل visual studio code لانه خفيف وواضح بالنسبه لي انت استخدم الي تبيه ماتفرق.

 

فيه برنامج احب استخدمه شخصيا بديل للكونسل اذا ماتبيه مش الزامي لكن هذا الي انا ابستخدمه ك console لي  

 الرابط

سبب استخدامي له هو فقط ان الكونسل حق الوندوز مايعجبني 

 

بعد ماتثبت كل شي لك الخيار انك تعيد السيستم وهذا مستحسن عشان بايثون يسوي تغيراته على النظام
فلو حصلت اي مشكله عيد النظام اغلب الاحيان راح تحلها.

 

الحين لازم نثبت دجانقو .. طبعا مافيه رابط تضغطه هو امر اسمه pip 
بيب هذا هو اداه من بايثون بحيث انك تقدر تستخدمها عشان تحمل اي مكتبة تبيها.

الطريقه هي انك تفتح الكونسل وتكتب

pip install django --upgrade
 

 

 

راح يبدى يحمل الدجانقو في جهازك
عطه وقته صلح لك كوب شاهي وروق ترى الموضوع مش معقد.


 

 

 

 

التطوير:

 

عد مايخلص سوي ملف فارغ وسمه اسم واضح لك انه مجمع projects 
السبب باختصار تبي مكان تجمع فيه البروجيكتس وتكون منظم ..

الحين نبي نبدا مشروع دجانقو 

وصل الكونسل لمكان الي تبي تبدا فيه البروجيكت

[cd [the path to project

cd راح يغير موقع مؤشر الكونسل للمكان الي تبيه

بعد ماتوصل للموقع المطلوب اكتب فالكونسل 
 

[django-admin startproject [projectname

وبكذا انشأت مشروع دجانقو جديد !!
حلو طيب .. نبي نشغل موقع صح ؟ نبي نشوف موقع الاان

عشان نبدا موقع لازم نشغل السيرفر .. تذكر ان دجانقو هو باكند ففيه سيرفر مبني داخله
عشان نشغله لازم نحرك المؤشر للكونسل لداخل البروجيكت 

بعد كذا راح نكتب فالكونسل:

 

python manage.py runserver

 

 

 

 

روح للرابط
/http://127.0.0.1:800

 

جميل .. لدينا موقع الحين .. طبعا متصل باتصال محلي على شبكة الجهاز .. 

لكن نقدر نطور عليه الى ان نصل لنتيجه المرغوبة ثم نرفعة لمستضيف !

 

طيب ... الحين نبي نسوي صفحة خاصه بنا لكي مصممنا يصمم الموقع
ونحن المطورين الخلفيين سنطور السيرفر وروابط الموقع..

لكي نظهر تصميمنا الخاص سنحتاج ان نتعلم على ال apps
لا مش اب جوال..

الاب هي طريقة دجانقو لتقسيم السيرفر لاقسام ثابتة فمثلا تريد اي يكون قسم لحفظ بينات المستخدم 
وقسم للموقع وقسم للمنتدى

كل قسم له نظامه الخاص ولكن الكل متصل بنفس السيرفر ونفس الباكيند

فتستطيع انت تفعل كل هذا لان دجانقو مبني على فكرة التطوير المطول 
فلا تحتاج انت تبدأ مشروع جديد للمنتدى وواخر للموقع فقط انشئ اب جديد!

 

طيب خلصنا تعاريف الحين للجزء المهم

 

كيف ننشئ اب جديد؟ 

اولا يجب ان نوقف السيرفر .. اضغط ctrl + c هذا سيوقف السيرفر

اذا اوقفت السيرفر الان نكتب الامر :
 

[python manage.py startapp [appname

سمي الاب الي تبيه بدون الاقواس وحافظ عالمسافات بين الاوامر

 

الان لدينا الاب الي نبيه نستطيع انشاء موقع عليه بتصاميم خاصه بنا !!

 

 

 

 

 

نحتاج الان ان نربط السيرفر بالموقع الجديد!!
لكي نربطهم نحتاج ان نعرف السيرفر بالموقع
اذهب الى اسم البروجيكت الي انشئته وافتح ملف settings

 

 

 

 

نحتاج ان نضيف موقعني هنا !!
لكي نضيفه نحتاج ان نجلب الكلاس config للموقع 

السبب هو اننا نريد الموقع ان ينشئ عنصر 'object' للموقع عند بداية السيرفر 
الكلاس هذا متواجد داخل ملف apps داخل ملف الموقع

 

 

 

داخل الملف هذا اسم كلاس باسم الموقع + config

 

 

انسخ الاسم هذا وارجع ل settings

الان سنضيف الموقع داخل قائمة INSTALLED_APPS

 

داخل القائمه اضف عنصر جديد فاخر القائمه من نوع char 
يتكون من :

اسم الموقع

apps

the config class

 

 

 

بهذي الطريقة ربطنا السيرفر بالموقع
 

الان نريد ان نجل الرابط للموقع الاساسي يرسلنا  للموقع
 

الروابط في دجانقو تعمل ببساطه تامه 
 

اولا نفتح ملف 'urls' داخل ملف البروجيكت

 

 

 

نرى ان هناك رابط admin/ يرسلنا لموقع الادمن للسيرفر
لنجرب الطريقه

شغل السيرفر واضف واذهب الى رابط السيرفر
ثم اضغ admin/ على اخر الرابط

 

 

 

جميل هذا موقع الاداره للسيرفر نستطيع ان نعدل اشياء كثير من هنا لكن سنطرف لها لاحقا الان نريد ان نشغل موقعنا

اترك السيرفر شاغل تغير الكود لايؤثر عليه 

 

الان ارجع الى ملف urls 

نريد ان نضيف رابط بلا / بحيث انه هو الاساس 

ونريد من الرابط هذا ان يرسلنا لموقعنا الذي انشئناه

لكي نفعل هذا نحتاج ان نظيف مكبتة الموقع في ال urls 

لكن قبل هذا نحتاج ان ننسخ ملف urls ونلصق نسخه منه داخل الموقع

السبب هو اننا نريد كل موقع يكون له قارئ روابط خاص به

 

 

 

 

بعد هذا ارجع لملف urls للسيرفر واكتب

 

 

website هو اسم الاب حقي انت ضع اسم الاب في مكانه

 

 

ثم اضف عنصر path جديد برابط فارغ (لاننا نريد ان نجعله هو الاساس) ويرسلنا للمتحكم الخاص بالموقع 

 

بعد هذا اغلق الملف وافتح ملف views داخل الموقع

 

 

 

 

 

 

 

 

الملف هذا مهم جدا لان اغلب المنطق يحصل هنا 

 

لنختصر عمل الملف هذا .. هو طريقة دجانقو لربط الرابط بالمنطق

مثلا نريد ان يكون هناك صفحه index تعرض لي الصفحه الام للموقع اذا كان الرابط فارغ من التفرعات

 

لماذا ندعه مثال ؟ سنجعله واقع انشئ داله جديده وسمها index 

لها مدخل request وهو يعبر عن المستخدم او البينات المستخدمه فالصفحه

ويرجع render وهو عباره عن عنصر html بمعنى ان render هو العارض للموقع

 

دعنا نجرب ان نعرض كلمة "Hello world" فالموقع لكي نثبت الفكرة

 

 

 

 

 

 

 

الحين نبي نربط urls بالداله هذي نروح للurls تبع الموقع

 

نضيف ملف views اولا ثم نطلب في حالة الرابط فارغ ان يشعل دالة index داخل views

 

 

والنتيجه؟

 

 

 

 

 

ادري شي بسيط جدا .. لكن قدرنا نتحكم بالي نعرضه وهذا شي ممتاز جدا

 

 

 

 

 

 

 

 

 

 

 

سنقف هنا والدرس القادم سنتعلم عن templates وكيف نسهل عمليه التصميم اكثر.

 

اي مشكله اكتب تحت فالكومنتس وبحاول ارد عليك.

 

 

حياكم فرحلة تطوير باكندز.

 

-محمد الفايز.

 

 

 

 

 


 

كلمات دليلية: django python
1
إعجاب
5107
مشاهدات
0
مشاركة
2
متابع

التعليقات (1)

sefyanbntalb:

Unhandled exception in thread started by <function wrapper at 0xb1038170>
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/utils/autoreload.py", line 228, in wrapper
    fn(*args, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 116, in inner_run
    autoreload.raise_last_exception()
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/utils/autoreload.py", line 251, in raise_last_exception
    six.reraise(*_exception)
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/utils/autoreload.py", line 228, in wrapper
    fn(*args, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/data/data/com.termux/files/usr/lib/python2.7/site-packages/django/apps/config.py", line 120, in create
    mod = import_module(mod_path)
  File "/data/data/com.termux/files/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named app

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !