(2) ورشة تطوير تطبيقات الويب باستخدام Django: مشاركة حلول بناء المشروع


#1

أهلًا بالجميع

  • فهرس المواضيع السابقة

فهرس موضوعات ورشة تطوير تطبيقات الويب باستخدام Django

  • المهمة المطلوبة

(1) ورشة تطوير تطبيقات الويب باستخدام Django: بناء المشروع

يتم تسليم الحلول عبر رابط المشروع على GitHub، بالتوفيق للجميع

اضغط هنا لعرض الحل

نقوم أولًا بإنشاء دالة hello في ملف views.py والتي تستقبل الاسم name وتُرجع عبارة "Hello " + name

def hello(request, name):
    return HttpResponse("Hello " + name)

ثم نقوم بتعريف المسار الجديد في ملف urls.py بحيث يقرأ الاسم name من الرابط ويُمرره لدالة hello

urlpatterns = [
    path('', views.index),
    path('hello/<name>', views.hello),
    path('admin/', admin.site.urls),
]

#2

#3

حل الورشة الاولى :


#4

السلام عليكم … هاهو الحل لكن اظنه ناقص :smile:


#5

سؤال اخي هل يجب تعلم Django :sweat_smile:
@LouayH


#6

السلام عليكم , يوجد رسالة خطأ عند كتابة
python manage.py runserver

ايضا عند كتابة الامر python manage.py runserver من خلال get bash لا يعمل و تظل الشاشة متوقفة بينما يعمل عند كتابته في cmd line in windows


#7

@0xThamer @ibrahim_badwi

عمل جيد شباب

@saifeddin1

أنت تقوم بقراءة الـ parameter من الطلب GET أي

http://127.0.0.1:8000/hello?name=coretabs

لكن لتحقق المطلوب في المهمة، عليك تمرير الـ parameter في ملف urls.py وقراءته في ترويسة دالة hello في ملف views.py

سأقوم لاحقًا بنشر الحل في هذا الموضوع


#8

@Biba

إن كنتي ناوية تشتغلي Python فـ Django هو أفضل إطار عمل ممكن تشتغلي عليه مشاريعك سواء كانت صغيرة أو كبيرة، المزايا والإمكانيات اللي فيه بتوفر وقت كتير علينا كمبرمجين، الدعم الفني له كبير جدًا وشعبيته رح تساعدك على حل أي مشكلة

@Ahmed-Shalaby

لم يتم التعرف على path في ملف urls.py، أضف السطر التالي، عادةً يكون موجود بشكل تلقائي

from django.urls import path


#9

شكرا اخي ع الشرح
@LouayH


#10

بعد مراجعة حلول الزملاء الافاضل و الاستعانة بالموقع التالي
https://docs.djangoproject.com/en/2.0/topics/http/urls/


#11

عمل جيد أحمد :+1:


#12

شكرا على الورشة الجديدة @LouayH

هذا هو حلي:

هل يمكن ان يتم بناء المشروع من خلال pycharm؟ أعتقد انه هيكون اسهل؟؟


#13

عمل جيد وليد :+1:

كيف يتم بناء المشروع من خلال pycharm ؟


#14

السلام عليكم و رحمة الله وبركاته
هذه محاولتي :slight_smile:


#15

عليكم السلام فتحي، عمل جيد :+1:


#16

شكرا لك @LouayH
في إنتضار باقي الورشات، أتمنى أن لا ننتظر كثيرا :grin:


#17

شكرا جزيلا أستاذي :slightly_smiling_face::slightly_smiling_face:

عندما كنا نعمل في الورشة السابقة كنا نستعمل Flask وكنا نستخدم PyCharm لكني حاولت تشغيل المشروع الجديد بنفس الطريقة ولكن لم يعمل، فكنت أتسائل إذا كان هذا ممكن أم لابد من العمل على Git Bash :thinking:


#18

بالتأكيد يمكنك العمل على PyCharm لأنه يوفر لك كل شيء

يجب أولاً عليك الإعتياد على بناء بيئة وهمية virtual environment

دائماً عندما أبدأ أي مشروع بايثون أفتح مجلد فارغ ثم أقوم بهذه الخطوات:

  1. أضيف عليه git باستخدام الأمر git init ثم git commit -m "Initial Commit".
  2. أقوم بتشغيل الأمر virtualenv venv لبناء بيئة وهمية في المجلد venv.
  3. أبدأ بتنصيب الحزم داخل مجلد venv أدخل على scripts ثم أقوم يتنصيب فلاسك pip install flask أو جانقو pip install Django.
  4. أفتح المشروع داخل PyCharm.

بهذا الشكل أبدأ كل مشروع fresh, بدون أي حزم سابقة, يعني كل مشروع لديه الحزم الخاصة به (فلاسك أو جانقو أو غيرها).

بالنسبة لتشغيل المشروع من PyCharm أقوم بكتابة هذا السكربت في ملف اسمه run.py مثلاً:

import os
import platform

venv_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "venv")
is_venv_exist = os.path.isdir(venv_path) & os.path.exists(venv_path)

print(venv_path)
print(platform.system())

if platform.system() == "Windows":
    if not is_venv_exist:
        print("creating virtual environment...")
        os.system("virtualenv venv")

        print("installing requirements...")
        os.system(r"venv\scripts\pip install -r requirements.txt")

    command = r"python manage.py runserver"

    run_script = fr"""call venv\scripts\activate.bat & {command} & pause"""

elif platform.system() == "Linux":
    if not is_venv_exist:
        os.system("virtualenv venv")

        print("installing requirements...")
        os.system("venv/bin/pip3 install -r requirements.txt")

    run_script = "sudo chmod +x ./venv/bin/activate && ./venv/bin/activate && python3 manage.py runserver"


os.system(run_script)

ثم اشغله مباشرة من PyCharm.


مشكلة في محرر pycharm
#19

رائع جدا يا أستاذي، سأقوم بتجربة ذلك.
شكرا جزيييييييييييلا :heart_eyes::heart_eyes:


#20

آسف على التأخير. هذا رابط المهمة الثانية:Github
هذه أو لخطوة لي في الدجانكو :unicorn::unicorn: