اذهب إلى المحتوى

Haroun Taha

الأعضاء
  • المساهمات

    156
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Haroun Taha

  1. بتاريخ 12 دقائق مضت قال Zeina Makdisi:
    
    from django.shortcuts import render
    from django.contrib.auth.models import User
    from .models import Profile
    from .forms import Login_Form
    from django.contrib.auth import authenticate , login
    from django.contrib.auth.decorators import login_required
    
        
    def doctors_detail(request, slug):
        doctors_detail = Profile.objects.get(slug = slug)
        return render(request, 'user/doctors_detail.html',{
            'doctors_detail' : doctors_detail,
        })
    
    def user_login(request):
        if request.method == 'POST':
            form = Login_Form()
            username = request.POST['username']
            password = request.POST['password']
            user = authenticate(request , username=username , password=password)
            if user is not None:
                login(request , user)
                return redirect('accounts:doctors_list')
            else:
                  form = Login_Form()
        return render(request, 'user/login.html',{
            'form':form
        })

     

    المُتغير form لا يُعرف بسبب أنه فقط يتم تعريفه داخل الطلب اذا كان من نوع POST يُعرف لذلك يجب وضع الelse بشكل يوازي ... if request.method == 'POST :

    def user_login(request):
        if request.method == 'POST':
            form = Login_Form()
            username = request.POST['username']
            password = request.POST['password']
            user = authenticate(request , username=username , password=password)
            if user is not None:
                login(request , user)
                return redirect('accounts:doctors_list')
     >> else:# هنا
          	form = Login_Form()
        return render(request, 'user/login.html',{
            'form':form
        })

     

  2. يجب عليك أن تجلب رابط صفحة من <a> لكل job ومن ثم تجلب صفحة الjob وتأخذ منها الSalary وهذه العملية تحصل داخل حلقة الfor هكذا تجلب الرابط :

    for item in items:
        item = item.find('a', class_="css-o171kl")
        page_job = item['href']
        response = requests.get(page_job)
        soup_page = BeautifulSoup(response.content,"html.parser")

    بعد ذلك داخل الصفحة من soup_page تجلب الsalary هذه الفكرة بكل بساطة.

    • أعجبني 2
  3. لِما لا نصنع دالة مشابهة لدالة randint ؟ ونسميها randbool دالة تعمل على  تحويل القيمة الناتجة (1 أو 0) إلى قيمة منطقية Boolean  وترجع لنا قيمة إما True أو False هكذا :

    from random import randint
    
    def randbool():
        return True if randint(0, 1) == 1 else False
    
    value = randbool()
    print(value)

     

  4. بتاريخ 1 دقيقة مضت قال محمد باجمال:

    طيب لو انا تخصصي هندسة حاسب، هل بيكون كافي انه يعلمني على كيفية عمل الحاسب و تعامله مع البيانات؟ وادخل على دورة بايثون؟ ولا الافضل ادخل دورة علوم الحاسب 

    لو تخصص هندسة الحاسب يغطي مفاهيم الحاسوب وكيفية تعامل الحاسب مع البيانات و حفظها وكيف الحاسوب يستقبل الأوامر وهيكلة البيانات في الحاسوب فأنت لا تحتاج لدورة علوم حاسوب وعليك بالتخصص في مفاهيم لغة بايثون في دورة بايثون و كتابة الأوامر للحاسب بإستخدام لغة بايثون بعد ذلك سوف تنتقل لمرحلة تحديد ما هو المسار الذي ترغبه في لغة بايثون (تطوير ويب, ذكاء اصطناعي, تحليل بيانات, تطبيقات سطح مكتب, الخ)

    • أعجبني 1
  5. تستطيع تثبيت حزمة Django من خلال PyCharm من خلال الterminal في الجزء السفلي من البرنامج PyCharm 

    لقطة الشاشة 2022-08-24 174150.jpg

    بعد ذلك الأمر

    pip install django

    لقطة الشاشة 2022-08-24 174358.jpg

    بعد ذلك لإنشاء مشروع Django استخدم الأمر:

    django-admin startproject NameProject

    لا تنسى تفعيل البيئةالإفتراضية, واقرأ البدء مع إطار العمل جانغو لإنشاء تطبيق ويب للإستفادة أكثر في البدء في إنشاء مشروع Django.

    • أعجبني 1
  6. بالطبع أغلب المواقع ذات الأمان العالي تقوم بفحص زائر الصفحة هل هو قادم من Script برمجي أم من متصفح تستخدم هذه المواقع حماية عن طريق الإعتماد على نوع المتصفح User-Agent مثال للUser-Agent لمتصفح firefox :

    USER_AGENT = "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1"

    فنحن نقوم بالإحتيال على الموقع الذي نريد سحب البيانات منه بإخباره برمجياً أننا قادمون من متصفح للإنترنت فعندها لا يقوم بمنع عملية التصفح وسحب البيانات هذه طريقة للتخطي.

    هناك اُطر عمل لسحب البيانات تساعد على تخطي فحص ال User-Agent مثل إطار العمل Scrapy.

    • أعجبني 1
  7. بتاريخ 21 ساعات قال يوسف شعبي:

    باستتناء مشاريع تعلم الآلة ،ما نوع المشاريع التي يستخدم فيها Flask بشكل كبير، متلا هل ينفع استخدامه في مشاريع تعليمية تقدم الدروس عن بعد، أو مشاريع تجارية متل المواقع و التطبيقات للتجارة الإلكترونية، أم أن يعمل بشكل جيد مع كل هاته المشاريع، 

    وما المشاريع التي لا يستخدم فيها فلاسك؟ بغض النضر عن حجم المشروع لان فلاسك أيضا يمكن بناء به مشاريع ضخمة ب استعمال تقنية ال bleuprint 

    فلاسك Flask يستخدم بكثرة في مشاريع "تعلم الآلة" ML Model وربطه بمشروع ويب , صحيح يمكن إستخدامه لبناء مشاريع ضخمة ولكن ليس الخيار الأفضل فالخيار الأفضل لبناء المشاريع الضخمة ولديه قابلية التوسع Scalability طبعاً Django , ولكن لا ننكر بأنه يمكن بناء مشاريع ضخمة بإستخدام فلاسك, مكتبة Flask هي بالأساس مشروع ويب صغير الحجم لِتُقدم خدمة تطبيق ويب ممكن الإضافات عليها بميزات مشاريع ضخمة ليصبح مشروع كبير الحجم ولكن الميزات والتسهيلات التي يقدمها Django للمشاريع الضخمة متوفرة أكثر من Flask.

  8. عند إستخدام Ajax request  الدالة سوف تقوم بإرجاع Json Responce لعرض البيانات في صفحة الHtml ستقوم بإستدعاء :

    from django.http import JsonResponse

    عند الإنتهاء من تنفيذ الدالة tab_1 سنقم بإرجاع الcontext :

    def tab_1(request):
      	...
        return JsonResponse({'data':context})

    في ميثود الAjax داخل  ال html :

    $.ajax({
      url:'{% url 'your_url_to_function_tab_1' %}',
      type:'POST',
      data:{
      	//التي سوف تقوم بإرسالها  form البيانات من ال
    	...
      },success:function(context){
    	// سوف نقوم بطباعة البيانات context سوف تستقبل البيانات في الوسيط 
             let total = context.total
             console.log(total)
      },error:function(){
         	alert('No Completed')
      }
    })

     

    • أعجبني 1
  9. فلاسك تجربة جميلة للبداية في بايثون في مجال تطوير الويب وبعدها إنتقل لجانغو  كبير وشامل  نعم تعلمه وإعمل مشاريع عليه سوف يقوي فرصك بسوق العمل بشكل عام في أي مجال وإستمر بدون توقف,  بالنسبة لسؤالك هل دجانقو اقصر مدة في مرحلة التطوير للمشروع نعم صحيح بسبب التسهيلات التي يُقدمها إطار العمل ولا يعني أنه أسهل بالعكس ثري بالوحدات الخارجية والضمنية بالنسبة ل FastAPI ما زال إطار عمل حديث ولم يسبق التعامل معه.

    قم بالإطلاع على اسئلة سابقة:

    وايضاً المقالة التالية فإنه يوجد بها قسم يشرح مقارنة بين دجانغو وفلاسك :


     

  10. لقد أنشأت كائن datetime وكتبت به تاريخ الميلاد أسندت إليه قيمة السنة والشهر واليوم , وقمت بتنفيذ الدالة ()now في المتغير dateNow التي تُنشئ تلقائي كائن datetime يأخذ السنة والتاريخ والشهر والوقت في لحظة التنفيذ, وقمت بعملية الطرح من الكائنين myBrithday و dateNow للحصول على عدد السنوات "العمر" هذا صحيح ولكن المشكلة أنك لم تقم بتحديد المتغير year لكلا الكائنين لطرح فقط قيمة السنوات سنكتب داخل دالة الطباعة الشكل التالي :

    print(dateNow.year - myBrithday.year)

     

    • أعجبني 2
  11. بتاريخ 2 ساعات قال ناصر ابراهيم3:

    ممكن الدفع فودافون كاش

    ممكن نتواصل معكم عن طريق رقم تلفون

    يمكنك التواصل مع مركز مساعدة أكاديمية حسوب و الاستفسار منهم هل يمكن الدفع عن طريق فودافون كاش

  12. تحتاج لفهم الفكرة قبل الممارسة والتنفيذ، قم بالاطلاع على شرح المصفوفات ثنائية البعد Two-dimensional Arrays في جافا

    بعد فهم آلية عمل المصفوفة ثنائية البعد نستعرض المثال التالي، حساب مجموع الصفوف والأعمدة في المصفوفة ثنائية البعد:

    public class javaapplication1  
    {  
        public static void main(String[] args) {  
            int r, c;            
            // تعريف المصفوفة
            int arr[][] = { {1, 2, 3},  {4, 5, 6},  {7, 8, 9}  }; 
            // مجموع كل عمود
            for(int i = 0; i < cols; i++){   
                for(int j = 0; j < rows; j++){  
                  sumC = sumC + a[j][i];  
                }  
                System.out.println(" column"+(i+1)+": " + sumC);  
            }  
            // مجموع كل صف 
            int sumC=0,sumR=0;
            for(int i = 0; i < arr.length; i++){    
                for(int j = 0; j < arr[0].length; j++){  
                  sumR = sumR + a[i][j];  
                }  
                System.out.println(" row"+(i+1)+": " + sumR);  
            }  
        }
    }

     

  13. الكلمة let يتعرف عليها مفسر اللغة على المستوى المحلي للدالة او ال block اي انه إذا تم تعريف متغيّر let داخل دالة فبمجرد خروج المفسر من الدالة لن تستطيع الوصول له الكلمة var تُعرف متغيّر على المستوى العام globally اي ان المتغيّر يعمل  على مستوى الملف كامل , اُنظر لأسئلة سابقة مشابهة لسؤالك 

    اقرأ ايضاً عن var , let

  14. سوف تعملي على أي لغة برمجة لتطوير الويب تتعامل مع API , شركة Google  توفر API لاستخدام خرائط google , بداية تحديد المراكز الصحية سوف تعملي على تسجيل  موقع المركز الصحي مسبقاً داخل النظام بإرفاق خطوط الطول والعرض في النظام او موقع الويب, كما الصورة موضحة :

    Latitude-and-Longitude-from-Google-Maps.jpg

    وعند طلب البحث عن أقرب مركز صحي يتم أخذ موقع الجهاز "خط الطول والعرض" وحساب أقصر مسافة بين موقع الجهاز ومواقع المراكز الصحية المسجلة داخل موقع الويب وهكذا تحصل على أقرب مركز صحي.

×
×
  • أضف...