1. مقدمة عن بايثون / جانقو
صالح الزيد
الرئيس التنفيذي لشركة النظم القمرية
LunarApps.com
2. عن بايثون
صنعت في 1991 •
هدف تصميمها هو التركيز على وضوح الكود •
Readability •
تشمل الكثير من مفاهيم البرمجة كـ •
Object-Oriented –
Dynamic Typing –
Threads –
Memory Management –
• سريعة جدا في وقت التشغيل Runtime
• منظمة تصميما ً (ال يوجد بها تكرار في الدوال)
• يوجد منها نسختين حاليا (3.7.2 و 0.3.3)
3. مميزات
• Readability
– من أسهل اللغات من ناحية القراءة و التعلم ، إن لم تكن األسهل على اإلطالق
– مسافات الـ Tabجزء من صحة الكود
• برمجة المواقع
برزت في السنوات األخيرة كلغة ممتازة لبرمجة المواقع –
بسبب صدور ( Frameworksأطر عمل) لها سهلت برمجة المواقع بها أكثر –
من أشهر أطر العمل هذه: Djangoو Web.py –
قبل ظهور أطر العمل هذه كان من الصعب برمجة المواقع ببياثون –
• خارج نطاق برمجة المواقع
– تحوي العديد من المكتبات القوية في تحليل البيانات و الصور مثال
– تتميز عن روبي في هذه النهاية (مجالها أوسع من برمجة المواقع)
4. مواقع مشهورة بنيت بها
بإطار عمل Web.py بإطار عمل Django بايثون
8. PHP Arrays مقارنة مع
• Declaring and printing a Lists (Arrays):
Python PHP
Not “print()”
9. • Playing with lists:
Python
1
2
3
4
5
6
PHP
1
2
3 “2” elements after the index 1
4
5
$z as result
$z as parameter! array_push returns int
which is the new array length.
6 Not an array.
or
6
11. إطار عمل Django
أنشئت في 5002 •
لتنظيم النشر في موقع جريدة The World Company •
برزت كنظام قوي إلدارة مواقع الجرائد •
العديد من الجرائد المشهورة تستخدمها حاليا: •
– NewYorkTimes.com
– WashingtonPost.com
– Guardian.co.uk
تطورت و برز مجتمع مبرمجي لها مع الوقت •
المكتبات الداعمة لها في ازدياد و أصبحت رائجة خالل الثالث السنوات األخيرة •
الموقع الرسمي DjangoProject.com •
آخر إصدار ثابت 3.4.1 صدر في ديسمبر 2102 (تعمل على البايثون 2) •
12. مفاهيم و مميزات Django
MVC: Model-View-Controller •
DRY: Don’t Repeat Yourself •
ORM: Object-Relational Mapping •
تقسم موقعك إلى مجموعة Appsتتخاطب فيما بينها •
تستطيع مشاركة أي Appمع اآلخرين •
تشمل نظام إدارة محتويات جاهز و قابل للتعديل Admin Panel •
تشمل Template Engineسهل و بسيط •
تشمل مكتبات أساسية لتفعيل الـ RSSبالموقع مباشرة •
و للحماية من cross-site request forgery •
تشمل واجهة برمجية الختبار الكود Unit Test •
تشمل سيرفر بسيط الختبار الموقع محليا قبل إطالقه •
13. Django بدء مشروع جديد مع
• Installation on Linux
https://docs.djangoproject.com/en/1.4/intro/install/
• Start a new project
• This should create the following dirs and files
مجلد المشروع
سكربت إلدارة برمجة الموقع
مجلد إعدادات المشروع
14. لتشغيل سيرفر الموقعmanage.py استخدام
• Start a development server
• Result (validating code and launching the server)
• Default local URL: http://127.0.0.1:8000/
25. Activating Polls Model
• Then syncdb
• Django will create the model table (it will execute these sql
commands)
26. Django API تجربة المودل و تعديلها عن طريق
• shell to play with models
27.
28. Admin Panel تفعيل الـ
• Django comes with a completee admin panel to mange the
website contents
• Run the server and access http://127.0.0.1:8000/admin
29. Admin Panel تفعيل الـ
• Django comes with a completee admin panel to mange the
website contents
• Run the server and access http://127.0.0.1:8000/admin
30.
31.
32.
33. View كتابة
• First, you have to set the URLs of views in mysite/urls.py
• Let’s say we have 4 pages (index, poll detail, poll results, and
voting page)
• Setting the URLs for them:
34. Views.py إضافة تعريف الصفحات في
• If you visit: http://127.0.0.1/polls/ you will have a page saying:
Hello, world. You’re at the poll index.
• If you visit http://127.0.0.1/polls/1 you will have a page saying:
You’re looking at poll 1.
35. إضافة صفحة مصممة index.html
كود لجلب آخر خمسة polls
إضيفت في الموقع
)Template (index.htmlإضافة
تعريف اسم المتغير الذي سيستخدم في
index.htmlويحمل بيانات الخمسة polls
36. كود index.html
المتغير الذي يحمل بيانات الـ polls
صيغة لغة الـ Template
HTML