-
المساهمات
13209 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
365
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
إذا أردتي تجنب استخدام jQuery يمكنك تنفيذ نفس الأمر من خلال جافاسكريبت النقية من خلال الكود التالي: // دالة لإنشاء كائن التاريخ وإخراجه function getCurrentYear() { // إنشاء كائن تاريخ const currentDate = new Date(); // الحصول على العام الحالي const year = currentDate.getFullYear(); // إرجاع العام الحالي return year; } // تعيين نص السنة الحالية لعنصر `currentYear` document.querySelector("#currentYear").textContent = getCurrentYear(); وبذلك لن تحتاجين إلى تضمين مكتبة jQuery من خلال رابط CDN.
- 2 اجابة
-
- 1
-
أحد أبسط الطرق هو استخدام الوحدات النمطية القياسية في Python مثل xlrd و xlwt، والتي تسمح لك بقراءة وكتابة جداول بيانات Excel ككائنات Python. مثلاً استخدام وحدة نمطية xlrd لقراءة البيانات من جدول بيانات Excel وحفظها ككائن Python، أو استخدام وحدة نمطية xlwt لكتابة البيانات من كائن Python إلى جدول بيانات Excel. طريقة أخرى لأتمتة المهام هي باستخدام مكتبات متخصصة في أتمتة Excel، مثل openpyxl و pyautogui. حيث تسمح لك مكتبة openpyxl بقراءة وكتابة جداول بيانات Excel ككائنات Python، وتسمح لك مكتبة pyautogui بإجراء تفاعلات المستخدم مع Excel باستخدام الماوس ولوحة المفاتيح. وإليك مثال بسيط على كيفية استخدام وحدة xlrd في Python لأتمتة المهام في Excel: import xlrd # Open the Excel workbook workbook = xlrd.open_workbook("example.xlsx") # Get the first sheet sheet = workbook.sheet_by_index(0) # Print the data from the first row print(sheet.row(0)) سيؤدي ذلك إلى طباعة البيانات التالية: ['A1', 'B1', 'C1'] وإليك مثال آخر على كيفية استخدام Python لملء بيانات من قاعدة بيانات MySQL في جدول بيانات Excel: import pymysql import xlsxwriter # Connect to the MySQL database connection = pymysql.connect(host="localhost", user="root", password="password", database="database") # Get the data from the database cursor = connection.cursor() cursor.execute("SELECT * FROM table") # Create a new Excel workbook workbook = xlsxwriter.Workbook("output.xlsx") # Create a new worksheet worksheet = workbook.add_worksheet() # Write the data from the database to the worksheet for row in cursor: worksheet.write_row(row) # Close the connection to the database connection.close() # Save the Excel workbook workbook.close() والنتيجة هي إنشاء جدول بيانات Excel جديد يحتوي على البيانات من جدول "table" في قاعدة بيانات MySQL.
- 3 اجابة
-
- 2
-
خاصية justify-content تُستخدم في Flexbox لمحاذاة وتوزيع العناصر داخل الـ container بشكل أفقي في حال كانت إتجاه flex هو row وبشكل رأسي في حال كان إتجاه flex هو column، وتعمل الخاصية في معظم الحالات لتحقيق التوزيع الذي تريده. ولكن هناك بعض الحالات التي قد لا تعمل بها بالشكل المتوقع، أو قد تظهر نتائج غير متوقعة ومنها: في حال كان عرض الـ container ضيقًا للغاية ولا يمكن أن يتسع لعرض جميع العناصر، وبالتالي تتسبب قيم justify-content في نتائج غير متوقعة، مثلاً لو كانت جميع العناصر تستخدم قيمة flex-grow: 1، فلن تكون هناك مساحة كافية لتوزيعها بالتساوي. إن قمت بتحديد عرض ثابت (بوحدة مثل بكسل) للعناصر داخل الـ container، قد لا تعمل justify-content بالشكل المتوقع، فالقيم الثابتة قد تمنع التوزيع المطلوب وتؤدي إلى تجاوز عرض الـ container. عند تعيين flex-wrap إلى قيمة nowrap، سيحاول Flexbox وضع جميع العناصر في سطر واحد دون كسر السطر، وهنا تؤدي قيم justify-content إلى تجاوز عرض الـ container إذا لم تكن هناك مساحة كافية. في حال هناك عناصر تستخدم عرضًا بنسبة مئوية من العرض الكلي للـ container، ربما تظهر نتائج غير متوقعة إذا كان هناك تداخل بين عناصر مختلفة. إذا كان لديك عنصر واحد فقط داخل الـ container واستخدمت قيمة justify-content: space-between، فلن يكون هناك أي توزيع أو مسافة بين العنصر وحافة الـ container. لاحظ أنه في معظم الحالات، يمكن التلاعب بالقيم المرتبطة بـ Flexbox مثل flex-grow و flex-shrink و flex-basis لتحقيق التوزيع المرغوب، ويُفضل فهم كيفية عمل Flexbox وتفاعل تلك القيم مع بعضها البعض للوصول إلى التصميم المطلوب. شرح justify-content من موسوعة حسوب والموقع التالي سيساعدك في فهم خواص الـ Flexbox: https://flexbox.malven.co/
-
صحيح، المدير هو الشخص الذي يدير فريقًا أو منظمة، ويمنحه منصبه سلطة رسمية على الآخرين، ويركز المدير عادةً على تحقيق الأهداف والإنتاجية وإدارة الموارد. أما القائد فهو شخص يلهم ويوجه الآخرين ويحثهم على الأداء الأفضل، ويستمد قوته من شخصيته ومهاراته وتأثيره على الآخرين، وهدف القائد بناء العلاقات والتوجيه والتحفيز. وبالطبع يمكن أن يصبح القائد مدير والمدير قائد، الفكرة هي في طريقة التفكير والإدارة. وبعض الاختلافات الرئيسية بين القائد والمدير هي: للمدير سلطة رسمية، بينما يستمد القائد قوته من علاقاته مع الآخرين. يسعى المدير إلى تحقيق الأهداف والإنتاجية، بينما يركز القائد على بناء العلاقات والتوجيه والتحفيز. يميل المدير إلى استخدام الأساليب الرسمية، بينما يميل القائد إلى استخدام الأساليب غير الرسمية. يؤثر المدير على الآخرين من خلال السلطة، بينما يؤثر القائد على الآخرين من خلال التأثير الشخصي.
-
الأمر بسيط إذا أردت العمل على مواقع العمل الحر فستحتاج إلى تعلم PHP وأيضًا PHP ولارافل يؤهلك يدخول سوق العمل بشكل أسهل من React وnode.js حيث ستحتاج إلى خبرة أكثر من أجل قبولك في تعلمهم، وتستطيع تعلم ما تريد لكن عليك بمعرفة متطلبات كل منهم من حيث سوق العمل والوقت المتاح لك للتعلم والعمل. وقد تم النقاش حول ذلك:
-
حاولي أولاً القيام بالتالي @Abeer Qaeed2: manage-bde -unlock H: -password مع استبدال-password بكلمة المرور الخاصة بفك التشفير، ثم محاولة إيقاف تلك الخاصية باستخدام: manage-bde -off H: وهل حاولتي ترك الحاسوب لفترة لحين الإنتهاء من فك التشفير ثم إيقاف تلك الخاصية. في حال لم ينجح ذلك، عليك بنقل الهارديسك إلى حاسوب آخر ثم إدخال كلمة المرور وفك التشفير ثم إيقاف تلك الخاصية لذلك القرص.
-
من الممكن تنفيذ ذلك من خلال جافاسكريبت فقط أي كود نقي بدون مكتبة من خلال Intersection Observer API ابحث على اليوتيوب عنه وستجد شروحات توضح لك. لكن في الموقع المذكور تم استخدام مكتبة GSAP وهي تجعل عملية تحريك العناصر أسهل مقارنًة بكتابة كود جافاسكريبت بدون مكتبة، مجرد بضعة أسطر وتستطيع تنفيذ ما تريد وأيضًا تنفيذ تأثيرات حركية متقدمة بشكل أسهل.
-
لغات البرمجة وإطارات العمل كثيرة، لذلك تجد البعض يتعلم مسار برمجي لأن أحدًا ما أخبره أن يتعلمه، ولكن أنت في النهاية تتعلم من أجل الحصول على وظيفة صحيح؟ إذن تتجه للوظائف المعروضة في سوق العمل سوق على مواقع العمل الحر أو الشركات، ثم تفقد المطلوب بكثرة وأيضًا لا يتطلب سنوات خبرة مثل سنتين أو 3 سنوات خبرة بل سنة أو 6 شهور خبرة مثلاً، في حال كان الوقت لديك ضيق وتريد العمل، حيث أن بعض اللغات والتقنيات تتطلب خبرة أكثر من غيرها. وبعد تحديد المناسب لك والمطلوب في سوق العمل، عليك بالبحث عن مسار برمجي مناسب Roadmap ثم مصدر جيد للتعلم وحاول عدم تشتيت نفسك وإلتزم بالمصدر الذي اخترته طالما أن الشرح مناسب لك وحديث فلا تبحث عن أفضل دورة بالعالم. وبخصوص تطوير تطبيقات الأندرويد سيكون عليك إما الإختيار ما بين تطوير التطبيقات الأصيلة باستخدام كوتلن أو جافا أو تطوير تطبيقات ما بين الهجينة والأصيلة باستخدام Flutter أو React Native
-
عليك بتحديد الخلية أو الخلايا التي تريد تنسيقها وتغيير لونها أو لون الخط، ثم اضغط على Conditional Formatting الموجودة في تبويب Home، ثم اختر منها Highlight Cells Rules ثم اختر More Rules كالتالي: ثم اختر Format only cells that contain ثم من الأسهل ستجد قائمة لتحديد هل تريد تنسيق الخلايا التي تحتوي تلك القيمة أو النص وخلافه كالتالي: أنا قمت بإختيار القيمة cell value لأنني أريد تنسيق الخلية التي تقل قيمتها على قيمة أول خلية في العمود C لذلك سأقوم بإختيار less than وفي الحقل الفارغ سأقوم بالضغط عليه ثم اضغط على الخلية التي أريدها كقيمة لتنسيق باقي الخلايا، وهنا بالضغط على الحقل الفارغ ثم ضغط على أول خلية في C كالتالي: بعد ذلك اضغط على Format اوختر التنسيق الذي تريده وليكن لون الخط ثم اضغط على ok للحفظ: وكما ترى الخلية التي قمت بإختيارها أصبح لون الخط أحمر كما حددت:
- 4 تعليقات
-
- conditional
- excel
-
(و 6 أكثر)
موسوم في:
-
بسبب أنه يتم فك التشفير وغالبًا الهارد لديك من نوع HDD وليس SSD، الحل الأسهل هو حذف خاصية التشغير BITLOCKER من على قرص الـ C عليك بتنفيذ الأوامر التالية من خلال منفذ الأوامر ابحثي عن PowerShell في شريط البحث بالويندوز بالأسفل ثم كتابة الأمر التالي: Disable-BitLocker -MountPoint "C:" ثم تنفيذ الأمر التالي: manage-bde -off C: والآن سيتم فك التشفير في الخلفية وعليك الإنتظار وعدم إغلاق الحاسوب لحين الإنتهاء، ولمعرفة نسبة التقدم في عملية فك التشفير قومي بكتابة الأمر التالي: manage-bde -status وبعد الإنتهاء عليك بإعادة تشغيل الحاسوب.
- 10 اجابة
-
- 2
-
الملفات التي يتم حفظها باستخدام Multer يتم تخزينها في الذاكرة المؤقتة، والذاكرة المؤقتة هي منطقة تخزين مؤقتة تستخدم لحفظ البيانات التي يتم استخدامها بشكل متكرر، مثل الملفات التي يتم تحميلها من خلال استمارات HTML، وعندما تنتهي جلسة المستخدم أو يتم إعادة تشغيل الخادم، يتم مسح البيانات المخزنة في الذاكرة المؤقتة. وستحتاج إلى تخزين الملفات في موقع دائم عن طريق استخدام نظام ملفات على الخادم الخاص بك أو عن طريق استخدام خدمة تخزين سحابية مثل Amazon S3 أو Google Cloud Storage. عليك بالتالي: إنشاء دليل جديد لحفظ الملفات. منح الخادم الخاص بك حقوق الوصول للكتابة إلى هذا الدليل. تعديل middleware Multer الخاص بك لتخزين الملفات في هذا الدليل. أي إن قمت بإنشاء دليل يسمى "uploads" في جذر موقع الويب الخاص بك، يمكنك تعديل middleware Multer الخاص بك كالتالي: const multer = require('multer'); const storage = multer.diskStorage({ destination: './uploads', filename: (req, file, cb) => { cb(null, file.originalname); } }); const upload = multer({ storage }); ومن المفترض تخزين الملفات التي يتم تحميلها في دليل "uploads" على الخادم الخاص بك. وفي حال ترغب في استخدام خدمة تخزين سحابية، يمكنك استخدام الخطوات التالية: إنشاء حساب في خدمة التخزين السحابية التي تختارها. إنشاء حاوية تخزين جديدة. منح الخادم الخاص بك حقوق الوصول إلى حاوية التخزين. تعديل middleware Multer الخاص بك لتخزين الملفات في حاوية التخزين. مثلاً إن قمت بإنشاء حاوية تخزين تسمى "uploads" في حساب Amazon S3 الخاص بك، عليك تعديل middleware Multer الخاص بك كالتالي: const multer = require('multer'); const s3 = require('aws-sdk').S3; const storage = multer.s3({ s3: new s3({ accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, region: 'us-east-1' }), bucket: 'uploads', filename: (req, file, cb) => { cb(null, file.originalname); } }); const upload = multer({ storage });
-
بالنسبة لهواتف الأندرويد عليك استخدام التالي: fb://facewebmodal/f?href=العنوان الذي تريد هنا مثال: <a class="mobile" href="fb://facewebmodal/f?href=https://facebook.com/Microsoft">mobile</a> بالنسبة لنظام iOS عليك باستخدام fb://page/PAGEID كما أخبرتك وبالتالي عليك استخدام جافاسكريبت من أجل معرفة نوع النظام وتوفير الرابط الصحيح.
- 13 اجابة
-
- 1
-
حاول تجربة خاصية onFilePicked لحفظ الملفات المحددة، ثم، عند النقر على "إضافة" مرة أخرى، استخدم خاصية getSelectedFiles لاسترداد الملفات المحددة السابقة وعرضها في واجهة المستخدم الخاصة بك. مثال: import 'package:file_picker/file_picker.dart'; void main() { runApp(MyApp()); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { List<File> _selectedFiles = []; @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("File Picker"), ), body: Center( child: Column( children: [ ElevatedButton( onPressed: () async { // Use `onFilePicked` to save the selected files. _selectedFiles = await FilePicker.pickFiles( // Specify the extensions that you want to allow. allowedExtensions: ['jpg', 'png'], ); }, child: Text("Pick files"), ), Expanded( child: ListView.builder( itemCount: _selectedFiles.length, itemBuilder: (context, index) { // Use `getSelectedFiles` to get the selected files. return ListTile( title: Text(_selectedFiles[index].name), ); }, ), ), ], ), ), ), ); } } عند النقر على "Pick files"، تستخدم خاصية onFilePicked لحفظ الملفات المحددة في قائمة _selectedFiles، ثم، عند النقر على "إضافة" مرة أخرى، تستخدم خاصية getSelectedFiles لاسترداد الملفات المحددة من القائمة، ثم عرض تلك الملفات بعد ذلك في واجهة المستخدم.
-
البرمجة وبرمجة الذكاء الاصطناعي هما مجالان متداخلان، لكنهما مختلفان في جوهرهم. فالبرامجة هي عملية إنشاء وتطوير البرامج الحاسوبية، وتتضمن تحديد المشكلات التي يجب حلها، وتصميم حلول لتلك المشكلات، وكتابة التعليمات البرمجية التي تنفذ تلك الحلول. وبالإمكان تلخيص الفرق بين البرمجة وبرمجة الذكاء الاصطناعي في النقاط التالية: الهدف من البرمجة هو إنشاء برامج قادرة على أداء مهام محددة، والهدف من برمجة الذكاء الاصطناعي هو إنشاء برامج قادرة على التفكير والتعلم مثل البشر. تستخدم البرمجة مجموعة واسعة من التقنيات، بما في ذلك الخوارزميات والبنى البيانات والبرمجة الموجهة للكائنات، وتعتمد برمجة الذكاء الاصطناعي مجموعة من التقنيات الخاصة بالذكاء الاصطناعي، مثل التعلم الآلي والتعلم العميق. تستخدم البرمجة في مجموعة واسعة من المجالات، بما في ذلك تطوير الويب وتطوير الألعاب وتطوير التطبيقات، بينما تستخدم برمجة الذكاء الاصطناعي في مجموعة من المجالات التي تتطلب الذكاء والتعلم، مثل الرؤية الحاسوبية والتعرف على الكلام والتعلم الآلي. وفي البرمجة لا نعتمد على الرياضيات وتحليل البيانات بل أساسيات الرياضيات فقط، أما في برمجة الذكاء الاصطناعي فيتم الإعتماد على الحساب التفاضلي (Calculus) وجبر الخطي (Linear Algebra) والاحتمالات والإحصاء (Probability and Statistics) والرياضيات التفاضلية والمنطق الرياضي (Discrete Mathematics وMathematical Logic)، وهنا توضيح مفصل لذلك: وبإمكانك دخول مجال البرمجة في خلال سنة مثلاً أما مجال الذكاء الاصطناعي فيحتاج إلى دراسة تستمر 3 سنوات على الأقل.
- 3 اجابة
-
- 1
-
من الممكن أن الذاكرة العشوائية لديك منخفضة مما يسبب مشكلة عند تشغيل المشروع حيث يستهلك إطار EXPO الذاكرة العشوائية بشكل كبير، لذلك حاول أية برامج أخرى غير ضرورية أثناء العمل على المشروع. من الممكن بناء مشروع React Native بدون EXPO وبذلك تتخلص من تلك المشكلة.
- 3 اجابة
-
- 1
-
أولاً وثم أولاً عليك بالتركيز على تعلم الأساسيات والتطبيق على ذلك من خلال نماذج بسيطة لفهم آلية عمل الكود وليس مجرد كتابة الكود، ثم التدرج في مستوى صعوبة المشاريع سواء بتنفيذ المشاريع الموجودة في الدورة، وأيضًا البحث عن مشاريع أخرى للتطبيق عليها فلا تكتفي بما يوجد في أي دورة. ابحث عن مشاريع جافاسكريبت للمبتدئين مثلاً أو مشاريع جافاسكريبت واختر من بين النتائج على اليوتيوب، ونفس الأمر بالإنجليزية JavaScript projects وستجد مشاريع للـ Beginners ومشاريع متوسطة ومتقدمة. على الأقل يجب تنفيذ 3 مشاريع من خلال جافاسكريبت مستوى مبتدأ ومتوسط ومتقدم، أي كلما تقدمت في الدورة ابحث عن مشروع في البداية ثم في المنتصف ثم في النهاية. ولا تقلق في حال وجدت أشياء جديدة لم تتعرض إليها في تلك المشاريع فذلك هو المطلوب، وحاول تنفيذ المشروع بمفردك أولاً ثم مشاهدة الشرح أو مشاهدة الشرح لتنفيذ جزء معين ثم الاستكمال المهم هو المحاولة في البداية. ولا تشغل بالك بجودة الكود طالما أنه يؤدي نفس الغرض لكن بالطبع عليك معرفة الطريقة الصحيحة لكتابة الكود وإذا وجدت طريقة أفضل وأٍسهل من خلال الشرح حاول تطبيقها لكن ذلك لا يعني أن تعيد ما كتبته من البداية في حال كنت تقوم بالتنفيذ بمفردك.
- 4 اجابة
-
- 1
-
بالطبع يمكنك إنشاء تطبيق مماثل من خلال Flutter، وفلاتر هو إطار عمل مفتوح المصدر ومتعددة المنصات، مما يعني أنه يمكنك استخدامه لإنشاء تطبيقات تعمل على أجهزة Android و iOS. من خلال استخدام API وAPI هي اختصار لـ Application Programming Interface، أي طريقة للتواصل بين تطبيقات مختلفة، وهناك العديد من API المتاحة لتطبيقات حجوزات السفر، مثل API الخاص بـ Google Hotels API و API الخاص بـ Booking.com، أو Expediو Hotels.com وغيرهم. ونفس الأمر بالنسبة لرحلات الطيران. هناك العديد من الطرق للربح من تطبيق حجوزات السفر، وإحدى الطرق هي الحصول على عمولة من الفنادق أو شركات الطيران عند حجز المستخدمين، ويمكن أيضًا الحصول على الربح من خلال عرض الإعلانات داخل التطبيق. أيضًا بعض التطبيقات تقدم خدمات إضافية للمستخدمين مقابل اشتراك شهري أو سنوي، أي خدمات وميزات خاصة. ولربط طريقة الربح بتطبيقك، تحتاج إلى إنشاء نظام أساسي لدفع الأموال، ويتوفر العديد من الأنظمة الأساسية المتاحة، مثل Stripe و PayPal، بمجرد إنشاء نظام أساسي لدفع الأموال، تحتاج إلى ربطه بـAPI الخاص بتطبيقك. عندما ينقر المستخدم على فندق أو شركة طيران، ستحتاج إلى إرسال طلب إلى API الخاص بتطبيقك، وسيتضمن الطلب المعلومات عن الفندق أو شركة الطيران، مثل السعر وتفاصيل الحجز، وسيحتاج API الخاص بتطبيقك إلى إرسال ذلك الطلب إلى نظام الدفع، وإذا تم الدفع بنجاح، فسيتم إرسال إشعار إلى المستخدم. وبالطبع عند الحجز من خلالك يكون هناك كود أو id خاص بك من أجل أن يتم معرفة أن ذلك المستخدم قد قام بالحجز من خلالك أي أنك وسيط ثم تحصل على عمولة من الفندق. يدخل المستخدم إلى التطبيق ويحدد وجهته. يقوم التطبيق بإرسال طلب إلى API الخاص بتطبيقك للحصول على قائمة الفنادق والرحلات الجوية المتاحة. يعرض التطبيق قائمة الفنادق والرحلات الجوية للمستخدم. يمكن للمستخدم مقارنة الأسعار وتفاصيل الحجز. إذا وجد المستخدم فندقًا أو رحلة جوية مناسبة، فيمكنه النقر عليها لتأكيد الحجز. يقوم التطبيق بإرسال طلب إلى نظام الدفع لمعالجة عملية الدفع. إذا تم الدفع بنجاح، فسيتم إرسال إشعار إلى المستخدم.
-
الأسئلة الإختبارية عليك محاولة حلها بنفسك لكي تحققي استفادة والأمر سهل أنتِ بحاجة إلى تعلم أساسيات بايثون وستصبحي قادرة كتابة البرنامج البسيط المطلوب منك. وسأوضح لك الخطوات التي عليها إتباعها: تعريف الـ function باسم sum_even_numbers. إنشاء متغير total_sum لتخزين مجموع الأرقام الزوجية. دخول في حلقة while True تستمر حتى يقوم المستخدم بإدخال "done". استخدام input لطلب إدخال المستخدم. التحقق إذا كان المدخل هو "done" بغض النظر عن حالة الأحرف الكبيرة أو الصغيرة باستخدام lower()، إذا كان الشرط صحيحًا، سيتم الخروج من الحلقة باستخدام break. استخدام try و except للتحقق مما إذا كان المدخل عبارة عن رقم صالح أم لا، وإن كان الإدخال صالحًا، سيتم تحويله إلى عدد صحيح باستخدام int() والتحقق مما إذا كان العدد زوجيًا باستخدام العبارة number % 2 == 0. إذا كان العدد زوجيًا، سيتم إضافته إلى المجموع total_sum، وإلا سيتم طباعة رسالة تذكير بإدخال رقم زوجي. إن لم يكن المدخل عبارة عن رقم صالح، سيتم طباعة رسالة تذكير بإدخال رقم صالح. بعد الانتهاء من الحلقة، سيتم طباعة مجموع الأرقام الزوجية. يتم استدعاء الـ function sum_even_numbers() لبدء التنفيذ. مصادر لتعلم بايثون: https://wiki.hsoub.com/Python دروس ومقالات متنوعة حول لغة بايثون
-
مجلد المشروع لديك باسم omar على ما أعتقد، عليك بالضغط بزر الفارة الأيمن على واجهة لاراجون ثم اختر www وهو مجلد الجذر الذي به المشاريع، وستظهر لك قائمة بالمشاريع به اضغط على اسم المشروع وسيتم فتحه في المتصفح. وإذا لم يتم تشغيله فهناك مشكلة بالمشروع إذن، حاول إغلاق الخادم وقاعدة البيانات من خلال الضغط على إيقاف ثم تشغيل مرة أخرى.