38
مقدمة عن بايثون/ جانقولح الزيد صا القمريةذي لشركة النظم الرئيس التنفيLunarApps.com

مقدمة عن بايثون / جانقو

Embed Size (px)

DESCRIPTION

مقدمة عن لغة بايثون و مميزاتها و أهم أطر العمل فيها لتطوير المواقع. و شرح عن إطار عمل جانقو، الأشهر بلغة بايثون لتطوير المواقع بسهولة و سرعة كبيرة.

Citation preview

Page 1: مقدمة عن بايثون / جانقو

جانقو/ بايثونمقدمة عن

صالح الزيد الرئيس التنفيذي لشركة النظم القمرية

LunarApps.com

Page 2: مقدمة عن بايثون / جانقو

بايثونعن

1991صنعت في •

هدف تصميمها هو التركيز على وضوح الكود•

•Readability

كـتشمل الكثير من مفاهيم البرمجة •–Object-Oriented

–Dynamic Typing

–Threads

–Memory Management

Runtimeسريعة جدا في وقت التشغيل •

(ال يوجد بها تكرار في الدوال)تصميماً منظمة •

(3.3.0و 2.7.3)حاليا يوجد منها نسختين •

Page 3: مقدمة عن بايثون / جانقو

مميزات

•Readability

، إن لم تكن األسهل على اإلطالقالتعلم من أسهل اللغات من ناحية القراءة و –

جزء من صحة الكود Tabمسافات الـ –

برمجة المواقع•

برزت في السنوات األخيرة كلغة ممتازة لبرمجة المواقع–

لها سهلت برمجة المواقع بها أكثر( أطر عمل) Frameworksبسبب صدور –

Web.py و Django :هذهمن أشهر أطر العمل –

ببياثونقبل ظهور أطر العمل هذه كان من الصعب برمجة المواقع –

خارج نطاق برمجة المواقع•

تحوي العديد من المكتبات القوية في تحليل البيانات و الصور مثال–

(مجالها أوسع من برمجة المواقع)النهاية تتميز عن روبي في هذه –

Page 4: مقدمة عن بايثون / جانقو

Web.pyبإطار عمل Djangoبإطار عمل بايثون

مواقع مشهورة بنيت بها

Page 5: مقدمة عن بايثون / جانقو

Python 2.7.3أمثلة لـ • Hello World:

• Multi-Line String

Page 6: مقدمة عن بايثون / جانقو

جزء من صحة الكود Tabالـ

X X

Page 7: مقدمة عن بايثون / جانقو

• Lists (Arrays):

• Playing with lists

Page 8: مقدمة عن بايثون / جانقو

• Declaring and printing a Lists (Arrays): Python PHP

PHP Arraysمقارنة مع

Not “print()”

Page 9: مقدمة عن بايثون / جانقو

• Playing with lists:

Python PHP

“2” elements after the index 1

$z as result

$z as parameter! array_push returns int which is the new array length. Not an array.

1 2 3 4 5 6

1 2 3 4 5 6 or 6

Page 10: مقدمة عن بايثون / جانقو

TryPython.org

في يومين بايثونتعلم أساسيات

Page 11: مقدمة عن بايثون / جانقو

2005أنشئت في •

The World Company لتنظيم النشر في موقع جريدة •

برزت كنظام قوي إلدارة مواقع الجرائد•

:حالياالعديد من الجرائد المشهورة تستخدمها •

–NewYorkTimes.com

–WashingtonPost.com

–Guardian.co.uk

تطورت و برز مجتمع مبرمجي لها مع الوقت•

المكتبات الداعمة لها في ازدياد و أصبحت رائجة خالل الثالث السنوات األخيرة •

DjangoProject.comالموقع الرسمي •

(2 البايثونتعمل على ) 2012صدر في ديسمبر 1.4.3آخر إصدار ثابت •

Djangoإطار عمل

Page 12: مقدمة عن بايثون / جانقو

•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تشمل واجهة برمجية الختبار الكود •

بسيط الختبار الموقع محليا قبل إطالقه سيرفرتشمل •

Djangoمفاهيم و مميزات

Page 13: مقدمة عن بايثون / جانقو

• Installation on Linux https://docs.djangoproject.com/en/1.4/intro/install/

• Start a new project

• This should create the following dirs and files

Djangoبدء مشروع جديد مع

مجلد المشروع

إلدارة برمجة الموقع سكربت مجلد إعدادات المشروع

Page 14: مقدمة عن بايثون / جانقو

• Start a development server

• Result (validating code and launching the server)

• Default local URL: http://127.0.0.1:8000/

الموقع سيرفرلتشغيل manage.py استخدام

Page 15: مقدمة عن بايثون / جانقو
Page 16: مقدمة عن بايثون / جانقو

settings.py

Page 17: مقدمة عن بايثون / جانقو
Page 18: مقدمة عن بايثون / جانقو
Page 19: مقدمة عن بايثون / جانقو

settings.pyبعد إضافتها في الـ Appsتثبيت الـ

• syncdb will create the database tables of each apps

Page 20: مقدمة عن بايثون / جانقو

urls.py

• Managing the URLs of your site (what they should like how they should operate

Page 21: مقدمة عن بايثون / جانقو

جديد Appإضافة

• Say you want to add polls to your site

• This command will create the following files

Page 22: مقدمة عن بايثون / جانقو

(Project and Apps)المجلدات جميع

Page 23: مقدمة عن بايثون / جانقو

models.py

• Each poll has a question, date, and number of choices

• Each choice has a description and number of votes

Page 24: مقدمة عن بايثون / جانقو

Activating Polls Model

• Add it first to settings.py

Page 25: مقدمة عن بايثون / جانقو

Activating Polls Model

• Then syncdb

• Django will create the model table (it will execute these sql commands)

Page 26: مقدمة عن بايثون / جانقو

Django APIو تعديلها عن طريق المودلتجربة

• shell to play with models

Page 27: مقدمة عن بايثون / جانقو
Page 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

Page 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

Page 30: مقدمة عن بايثون / جانقو
Page 31: مقدمة عن بايثون / جانقو
Page 32: مقدمة عن بايثون / جانقو
Page 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:

Page 35: مقدمة عن بايثون / جانقو

index.htmlإضافة صفحة مصممة

Template (index.html)إضافة

polls كود لجلب آخر خمسة في الموقع إضيفت

تعريف اسم المتغير الذي سيستخدم في

index.html ويحمل بيانات الخمسةpolls

Page 36: مقدمة عن بايثون / جانقو

index.htmlكود

HTML

Templateصيغة لغة الـ

pollsالمتغير الذي يحمل بيانات الـ

Page 38: مقدمة عن بايثون / جانقو

شكرا لكم

األسلئلة