كيف يمكن تشغيل دالة بايثون عن طريق ضغط زر في صفحة ويب ؟ اريد مثالا ان امكن


التعليقات

قم بعمل عنصر a في الصفحة وأسند قيمة href إلى:

/example

إذهب إلى ملف urls.py الخاص بمشروع (Django) الخاص بك، وداخل هيكلية البيانات urlpatterns قم بإضافة كائن url جديد مع تمرير البرامترات التالية (نص الرابط، اسم دالة الــView التي ستتولى معالجة الطلب، اسم اختياري للرابط):

url(r"^/example$", views.home, name="example") 

إذهب إلى ملف views.py الخاص بمشروعك (أنشئه إن لم يكن موجودًا)، و قم بتعريف دالة بنفس الإسم الذي مررته كبارامتر ثاني للكائن url في السطور السابقة، وداخل تلك الدالة، قم باستدعاء الدالة التي تريد تنفيذها (تشغيلها):

def home(request):
    your_function()
    # complete the view

شكرا لك اولا و اخيرا

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

 /example

جعلته {% url 'player:example' %} لكي يتلائم مع الكود الخاص بي وبالنسبة للدالة home لم تعمل الا عند اضافة السطر التالي

 return render(request, 'base.html')

لكن بدون اضافة ذلك السطر كان يظهر لي الخطأ التالي :

The view players.views.home didn't return an HttpResponse object. It returned None instead.

هل هناك حل دون استخدام سطر الكود الاخير ؟

رجاء، قم بالرد على تعليقي حتى يصلني إشعار بردك.

لم يعمل في البداية حتى عدلت عليه في بعض المواضع

نعم، بنية المشاريع تختلف لذلك جعلتُ مثالي عامًا.

هل هناك حل دون استخدام سطر الكود الاخير ؟

لا بد أن ترجع الـView قيمة ما، بإمكانك تغيير ما ترجعه الدالة إلى HttpResponse أو إلى XML أو JSON Response ... لكن لا بد أن تُرجِع شيئًا ما...

شكرا جزيلا لك

لكن اذا اردت ان اظهر قيمة ما على الشاشة

فرضا اذا اردت عمل الة حاسبة و هناك قيمة جمع رقمين اريد اظهارها مباشرة بدون عمل Reload للصفحة

في هذه الحالة هل تنصحني باستخدام JavaScript افضل ؟

في هذه الحالة هل تنصحني باستخدام JavaScript افضل ؟

لحظة، إذا كنت تريد فعلًا القيام بعمل آلة حاسبة فلا داعي لـDjango أو السيرفر حتى، بإمكانك استخدام JS وجعل البرمجة في جانب العميل فقط.

أما إذا كان ما تريد بناءه معقد، واستخدمت مثال الآلة الحاسبة للتوضيح فقط، عندها نعم، بإمكانك بناؤها باستخدام Ajax.

لقد كنت استخدم مثال الالة الحاسبة للتوضيح فعلا

شكرا جزيلا لك للرد والاهتمام جزاء الله خيرا

سأبحث في موضوع Brython و ارى كيف استخدمه في مشروعي :)

العفو، وجزاك. لا تنسى أن تخبرنا بجديد مشاريعك :)

باذن الله بارك الله فيك

بالمناسبة، هناك شيء اسمه Brython، وهو يسمح لك باستخدام بايثون بدلًا عن جافاسكربت في البرمجة بجانب العميل. إبحث عنها إن أعجبتك الفكرة.


جانغو - Django

جانغو: (تنطق JANG-goh) هو منصة برمجية لتطبيقات الويب حر ومفتوح المصدر, يعد أشهر أطر الويب المكتوبة بلغة البرمجة بايثون Python.

570 متابع