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

Abdulazeez Altamimi

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

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

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

أجوبة بواسطة Abdulazeez Altamimi

  1. بتاريخ 22 دقائق مضت قال Wael Aljamal:

    domain.com/api/users?format=json

    هل اضع باراميتر في الدالة على الشكل التالي 

    def tab_1(request, format)

    و اقم بأنشاء مسارين الاول للhtml و الثاني للjson

    path('dead-load/<str:json>', views.tab_1, name='tab1')
    
    path('dead-load/<str:html>', views.tab_1, name='tab1')

    ام يجب الاعتماد على restfull api 

  2. بتاريخ On 12‏/8‏/2022 at 01:03 قال Wael Aljamal:

    إذا يكون سببها console.log في شيفرة جافاسكربت 

     

     

    اخي وائل قمت بحذف جميع console.log من الجافاسكربت لكن المشكلة لم تنحل 

    هل هذه سبب المشكلة؟

    if request.method == 'POST':
            return JsonResponse({'data': context})
    elif request.method == 'GET':
            return render(request, 'db_math/tab1.html', context)

     

  3. بتاريخ 8 ساعات قال Haroun Taha:

    العفو منك , 

    تأكد من عدم وجود دالة طباعة ()print داخل دالة (request)tab_1 لأنه بمجرد ظهرت البيانات على شكل json في سطر الأوامر هذا يدل أنه تم طباعة الكائن Json.

    اخي الكريم هذه تظهر في المتصفح وليس في سطر الاوامر

    عند الضغط على enter في المتصفح يحولني الى هذه الصفحة

  4. بتاريخ 11 ساعات قال Haroun Taha:

    عند إستخدام 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')
      }
    })

     

    شكرا لك اخي هارون تم الامر 

    لكن عندما ادخل قيمة في input و الضغط على زر Enter تظهر لي البيانات على شكل json

    هل من طريقة لمنعها من الظهور ؟

     

    Capture.thumb.PNG.f67e06685795b3c2f6cee877c93f66bf.PNG

  5. بتاريخ منذ ساعة مضت قال Haroun Taha:

    هل أرفقت الcontext المُراد تحديثه في دالة الviews لنرى هيكلية البيانات التي تريد تحديثها في صفحة الhtml.

    اخي الكريم هذه الدالة فيها حل لمعادلات رياضية تستقبل ادخال من المستخدم لحل المعادلات... الان جميع البيانات الموجود في context تعرض في html بدون تحديث الصفحة بأستخدام Ajax .. ما عدى total  و total1 لانهما لا يعتمدان على ادخال واحد من المستخدم بل تقوم بجمع الادخالات التي قام المستخدم بأدخالها ... 

    المشكلة التي واجهتني ان الادخالات فيها form و من الform استقبل البيانات و اعرضها بدون تحديث الصفحة

    و  total  , total1 لا يعتمدان  على form بل تعتمد على الجمع الادخالات

    يعرض لي الحل في حال قمت بتحديث الصفحة فقط

    def tab_1(request):
        asphalt_singles = request.POST.get('asphalt_singles')
    
        membrane = request.POST.get('Membrane')
        sheathing = request.POST.get('Sheathing')
        Roof_Trusses = request.POST.get('RoofTrusses')
        poly_vapour_barrier = request.POST.get('Poly_Vapour_Barrier')
        insulation = request.POST.get('Insulation')
        me = request.POST.get('meemem')
        drywall = request.POST.get('Drywweqwe')
        # Floor
        Partition_Allowance = request.POST.get('Partition_Allowance')
        Tile_Flooring = request.POST.get('Tile_Flooring')
        Sheathing1 = request.POST.get('Sheathing1')
        Floor_Joist = request.POST.get('Floor_Joist')
        ME2 = request.POST.get('MeeE2')
        Drywall_Ceiling = request.POST.get('DrywallCeiling')
    
    
        id_s = request.session["id"]
    
        pk = Tall_Wall_Input_db.objects.get(id=id_s)
        date = datetime.now()
        try:
            asphalt_singles1 = float(asphalt_singles) * 20.9
            pk.asphalt_singles_input = float(asphalt_singles)
            pk.date_time = date
            pk.save()
            return HttpResponse(asphalt_singles1)
        except TypeError:
            asphalt_singles1 = pk.asphalt_singles_input * 20.9
        except ValueError:
            asphalt_singles1 = pk.asphalt_singles_input * 20.9
    
        try:
            membrane1 = float(membrane) * 20.9
            pk.membrane_input = float(membrane)
            pk.date_time = date
            pk.save()
    
            return HttpResponse(membrane1)
        except TypeError:
            membrane1 = pk.membrane_input * 20.9
        except ValueError:
            membrane1 = pk.membrane_input * 20.9
        try:
            pk.sheathing_input = float(sheathing)
            pk.date_time = date
            pk.save()
        except TypeError:
            sheathingw1 = pk.sheathing_input
        except ValueError:
            sheathingw1 = pk.sheathing_input
        try:
            roof_trusses1 = float(Roof_Trusses) * 20.9
            pk.roof_trusses_input = float(Roof_Trusses)
            pk.date_time = date
            pk.save()
            return HttpResponse(roof_trusses1)
        except TypeError:
            roof_trusses1 = pk.roof_trusses_input * 20.9
        except ValueError:
            roof_trusses1 = pk.roof_trusses_input * 20.9
        try:
            poly_vapour_barrier1 = float(poly_vapour_barrier) * 20.9
            pk.poly_vapour_barrier_input = float(poly_vapour_barrier)
            pk.date_time = date
            pk.save()
            return HttpResponse(poly_vapour_barrier1)
        except TypeError:
            poly_vapour_barrier1 = pk.poly_vapour_barrier_input * 20.9
        except ValueError:
            poly_vapour_barrier1 = pk.poly_vapour_barrier_input * 20.9
        try:
            pk.insulation_input = float(insulation)
            print(insulation)
            pk.date_time = date
            pk.save()
        except TypeError:
            insulation1 = 3 * 8 / 12
        except ValueError:
            insulation1 = 3 * 8 / 12
        try:
            me1 = float(me) * 20.9
            pk.me_input = float(me)
            pk.date_time = date
            pk.save()
            return HttpResponse(me1)
        except TypeError:
            me1 = pk.me_input * 20.9
        except ValueError:
            me1 = pk.me_input * 20.9
        try:
            drywall1 = float(drywall) * 20.9
            pk.drywall_input = float(drywall)
            pk.date_time = date
            pk.save()
            return HttpResponse(drywall1)
        except TypeError:
            drywall1 = pk.drywall_input * 20.9
        except ValueError:
            drywall1 = pk.drywall_input * 20.9
    
        try:
            total = pk.asphalt_singles_input + pk.membrane_input + pk.sheathing_input + pk.roof_trusses_input + pk.poly_vapour_barrier_input + pk.insulation_input + pk.me_input + pk.drywall_input
        except TypeError:
            total = 0
        try:
            total1 = float(asphalt_singles1) + float(membrane1) + 2.08 + float(roof_trusses1) + float(
                poly_vapour_barrier1) + 2.0 + float(me1) + float(drywall1)
            pk.total1 = total1
            pk.total1 = total1
            pk.save()
        except TypeError as f:
            total1 = 0
        # input value Roof
        asphalt_singles_input_value = pk.asphalt_singles_input
        membrane_input_value = pk.membrane_input
        sheathing_input_value = pk.sheathing_input
        roof_trusses_input_value = pk.roof_trusses_input
        poly_vapour_barrier_input_value = pk.poly_vapour_barrier_input
        insulation_input_value = pk.insulation_input
        me_input_value = pk.me_input
        drywall_input_value = pk.drywall_input
        # Floor
        try:
            Partition_Allowance1 = float(Partition_Allowance) * 20.9
            pk.Partition_Allowance_input = float(Partition_Allowance)
            pk.date_time = date
            pk.save()
            return HttpResponse(Partition_Allowance1)
        except TypeError:
            Partition_Allowance1 = pk.Partition_Allowance_input * 20.9
        except ValueError:
            Partition_Allowance1 = pk.Partition_Allowance_input * 20.9
        try:
            Tile_Flooring1 = float(Tile_Flooring) * 20.9
            pk.Tile_Flooring_input = float(Tile_Flooring)
            pk.date_time = date
            pk.save()
            return HttpResponse(Tile_Flooring1)
        except TypeError:
            Tile_Flooring1 = pk.Tile_Flooring_input * 20.9
        except ValueError:
            Tile_Flooring1 = pk.Tile_Flooring_input * 20.9
        try:
            s = float(Sheathing1) * 7
            pk.Sheathing1_input = float(Sheathing1)
    
            pk.date_time = date
            pk.save()
        except TypeError:
            sheathing2 = pk.Sheathing1_input
        except ValueError:
            sheathing2 = pk.Sheathing1_input
        try:
            Floor_Joist1 = float(Floor_Joist) * 20.9
            pk.Floor_Joist_input = float(Floor_Joist)
            pk.date_time = date
            pk.save()
            return HttpResponse(Floor_Joist1)
        except TypeError:
            Floor_Joist1 = pk.Floor_Joist_input * 20.9
        except ValueError:
            Floor_Joist1 = pk.Floor_Joist_input * 20.9
        try:
            ME22 = float(ME2) * 20.9
            pk.ME2_input = float(ME2)
            pk.date_time = date
            pk.save()
            return HttpResponse(ME22)
        except TypeError:
            ME22 = pk.ME2_input * 20.9
        except ValueError:
            ME22 = pk.ME2_input * 20.9
        try:
            Drywall_Ceiling1 = float(Drywall_Ceiling) * 20.9
            pk.Drywall_Ceiling_input = float(Drywall_Ceiling)
            pk.date_time = date
            pk.save()
            return HttpResponse(Drywall_Ceiling1)
        except TypeError:
            Drywall_Ceiling1 = pk.Drywall_Ceiling_input * 20.9
        except ValueError:
            Drywall_Ceiling1 = pk.Drywall_Ceiling_input * 20.9
            return HttpResponse(Drywall_Ceiling1)
        try:
            Total_Roof = pk.Partition_Allowance_input + pk.Tile_Flooring_input + pk.Sheathing1_input + pk.Floor_Joist_input + pk.ME2_input + pk.Drywall_Ceiling_input
        except TypeError:
            Total_Roof = 0
        try:
            s = 40 * (0.75 / 12)
            Total_Roof1 = Partition_Allowance1 + Tile_Flooring1 + s + Floor_Joist1 + ME22 + Drywall_Ceiling1
            pk.Total_Roof1 = Total_Roof1
            pk.Total_Roof1 = Total_Roof1
            print('Total_Roof1', Total_Roof1)
        except TypeError:
            Total_Roof1 = 0
        # __________________________________________________________
        Partition_Allowance_input_value = pk.Partition_Allowance_input
        Tile_Flooring_input_value = pk.Tile_Flooring_input
        Sheathing1_input_value = pk.Sheathing1_input
        Floor_Joist_input_value = pk.Floor_Joist_input
        ME2_input_value = pk.ME2_input
        Drywall_Ceiling_input_value = pk.Drywall_Ceiling_input
        context = {
            # Roof
            'asphalt_singles1': round(asphalt_singles1, 2),
            'membrane': round(membrane1, 2),
            'sheathing': round(40 * (0.625 / 12), 2),
            'roof_trusses': round(roof_trusses1, 2),
            'poly_vapour_barrier': round(poly_vapour_barrier1, 2),
            'insulation': 3 * 8 / 12,
            'me': round(me1, 2),
            'drywall': round(drywall1, 2),
            'total': round(total, 2),
            'total1': round(total1, 2),
            # In order to keep the value entered by the user
            'asphalt_singles_input_value': round(asphalt_singles_input_value, 2),
            'membrane_input_value': round(membrane_input_value, 2),
            'sheathing_input_value': round(sheathing_input_value, 2),
            'roof_trusses_input_value': round(roof_trusses_input_value, 2),
            'poly_vapour_barrier_input_value': round(poly_vapour_barrier_input_value, 2),
            'insulation_input_value': round(insulation_input_value, 2),
            'me_input_value': round(me_input_value, 2),
            'drywall_input_value': round(drywall_input_value, 2),
            # Floor
            'Partition_Allowance1': round(Partition_Allowance1, 2),
            'Tile_Flooring1': round(Tile_Flooring1, 2),
            'Sheathing2': round(40 * (0.75 / 12), 2),
            'Floor_Joist1': round(Floor_Joist1, 2),
            'ME22': round(ME22, 2),
            'Drywall_Ceiling1': round(Drywall_Ceiling1, 2),
            'Total_Roof': round(Total_Roof, 2),
            'Total_Roof12': round(Total_Roof1, 2),
            # In order to keep the value entered by the user
            'Partition_Allowance_input_value': Partition_Allowance_input_value,
            'Tile_Flooring_input_value': Tile_Flooring_input_value,
            'Sheathing1_input_value': Sheathing1_input_value,
            'Floor_Joist_input_value': Floor_Joist_input_value,
            'ME2_input_value': ME2_input_value,
            'Drywall_Ceiling_input_value': Drywall_Ceiling_input_value,
        }
    
    
        return render(request, 'db_math/tab1.html', context)

     

    • أعجبني 1
  6. اخي الكريم انا لدي معادلة تعتمد على جمع المدخلات التي قام المستخدم بأدخالها وهي لا تحتوي على الوسم form

    انا قمت بجمعها في django وقم بتمريرها في context لاعرضها في نفس الصفحة

    لكن عند ادخال قيمة في احدى form الموجودة في الصفحة لا يحدث تغيير على نتيجة... فقط تتغير عندما اقوم بتحديث الصفحة

    هل من طريقة لجعلها تتغير كلما قمت بأدخال في fome؟

     

    • أعجبني 1
  7. بتاريخ منذ ساعة مضت قال Wael Aljamal:

    هذه تعني أن مكان الوسم p سيصبح 123 في حال نجح إرسال واستقبال الطلب.

    عند الضغط على enter لاحظت هذه الاخطاء في console

    Uncaught TypeError: document.getElemetById is not a function
        at Object.success ((index):509:18)
        at fire (jquery-3.5.1.js:3496:31)
        at Object.fireWith [as resolveWith] (jquery-3.5.1.js:3626:7)
        at done (jquery-3.5.1.js:9786:14)
        at XMLHttpRequest.<anonymous> (jquery-3.5.1.js:10047:9)

  8. بتاريخ 1 دقيقة مضت قال Wael Aljamal:

    بعد إرسال طلب AJAX من المتصفح، يتوجب انتظار الرد من الخادم في دالة success حيث تستقبل الرد وتعدل الصفحة بدون تحديثها.

    لنفر

    
    success:function(){
    		
    	}
    			

     

    عذرا اخي الكريم انا ضعيف في جافاسكريبت 

    ماذا يجب ان افعل في هذه الحالة

  9. بتاريخ 33 دقائق مضت قال Wael Aljamal:

    .get('Drywall Ceiling')

    اخي الكريم هل هو يعتمد على id ام name في الوسم input

    انا قمت بطباعة المتغير Drywall_Ceiling

    وهو يطبع ما قمت بأدخاله و طبعت المعادلة فهو يقوم بحل المعادلة لكن في context لا يظهر لي الناتج 

    حتى اقوم بتحديث الصفحة

    • أعجبني 1
  10. بتاريخ 22 دقائق مضت قال Wael Aljamal:

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

    هذا جزء من الشيفرة لانها طويلة

    في html وضعتها على شكل جدول ... الادخال و يقابله الحل

    <tr>
            <td></td>
            <td>1/2" Drywall Ceiling
            </td>
            <td style="color: rgb(42, 178, 246);">
              <form id="myForm13" method="post">
                {% csrf_token %}
                <input id="Drywall_Ceiling" style="width: 89px;" type="number" step="0.0001" class="form-control"
                  name="Drywall Ceiling" value="{{Drywall_Ceiling_input_value}}">
              	<input type='subnit' value='submit'>
              </form>
            </td>
            <td>kPa</td>
            <td style="color: rgb(247, 10, 10)">{{Drywall_Ceiling1}}</td> 
            <td>PSF</td>
    </tr>
    
    
    <script src="https://code.jquery.com/jquery-3.5.1.js"
    		integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
    			crossorigin="anonymous"></script>
    
    <script type="text/javascript">
    	$(document).on('submit','#myForm13',function(e){
    		e.preventDefault();
    		$.ajax({
    			type:'POST',
    			url:'{% url "tab1" %}',
    			data:
    			{
    				Drywall_Ceiling:$("#Drywall_Ceiling").val(),
    				csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
    			},
    			success:function(){
    				
    					}
    			})
    		});
    	</script>

     في views.py

    def tab_1(request):  
        Drywall_Ceiling = request.POST.get('Drywall Ceiling')
    
          try:
                  Drywall_Ceiling1 = float(Drywall_Ceiling) * 20.9
                  pk.Drywall_Ceiling_input = float(Drywall_Ceiling)
                  pk.date_time = date
                  pk.save()
              except TypeError:
                  Drywall_Ceiling1 = pk.Drywall_Ceiling_input * 20.9
              except ValueError:
                  Drywall_Ceiling1 = pk.Drywall_Ceiling_input * 20.9
    
          context = {
           'Drywall_Ceiling1': round(Drywall_Ceiling1, 2),
          }
    
          return render(request, 'db_math/tab1.html', context)

    في ملف urls.py

    path('dead-load/', views.tab_1, name='tab1'),

     

  11. بتاريخ 7 ساعات قال Abdulazeez Altamimi:

    مرحبا , انا جديد هنا شكرا لكم على هذا الموقع الجميل ... اتمنى ان اجد حل لمشكلتي

    لدي صفحة بها forms فيها input واحد فقط منشره في جدول تستقبل بيانات لاجراء حساب عليها

    لكن واجهتني مشكلة مزعجة و هي تحديث الصفحة عن ادخال البيانات و صعودها الى الاعلى 

    لذلك اريد ان امنع تحديث الصفحة لكي تصبح اسرع في اخراج الناتج

     

    انا استخدمت Ajax لكن لا يعطيني الناتج يبقى الناتج مثل ما هو

  12. لدي صفحة بها forms فيها input واحد فقط منشره في جدول تستقبل بيانات لاجراء حساب عليها

    لكن واجهتني مشكلة مزعجة و هي تحديث الصفحة عن ادخال البيانات و صعودها الى الاعلى 

    لذلك اريد ان امنع تحديث الصفحة لكي تصبح اسرع في اخراج الناتج

     

×
×
  • أضف...