• 1

كيفية الحصول على المدخلات parameters من request.GET في جانغو Django؟

أقوم حاليًا بتعريف regular expressions من أجل التقاط المدخلات parameters في عنوان URL. كيف يمكنني الوصول إلى المدخلات parameters من عنوان URL كجزء من كائن HttpRequest؟

يقوم HttpRequest.GET حاليًا  بإرجاع كائن QueryDict فارغ.

أود أن أتعلم كيفية القيام بذلك بدون مكتبة، حتى أتمكن من التعرف على جانغو Django بشكل أفضل.

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يمكنك الحصول على أي Query Parameter من خلال التابع get كالتالي:

// URL: localhost:8000/posts?id=123
request.GET.get('id', '1')	# Output: 123

يتم تمرير اسم الـ Parameter إلى التابع get والقيمة الثانية هي القيمة الإفتراضية التي سوف يتم إستخدامها في حالة لم يتم إيجاد اي parameter باسم id.

على العموم إن كنت تريد إستخدام regex، فيمكنك أن تستخدم re_path كالتالي:

from django.urls import path, re_path

from . import views

urlpatterns = [
    path('posts/2003/', views.special_case_2003),
    re_path(r'^posts/(?P<year>[0-9]{4})/$', views.year_archive),
]

وعليك أن تقوم بتجهيز views.py كالتالي:

def post_page(request, year):
    # Rest of the method

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك استخدام POST كالتالي:

request.POST["id"] # فقط نمرر له الوسيط الذي نريده

أو من خلال GET:

# في حالة كان المفتاح إلزامي
request.GET["id"]

وهنا سيرد قيمة المفتاح، وإذا لم يجد قيمة له سيرمي استثناء. أما في حالة كان المفتاح اختيارياً:

# في حالة كان المفتاح اختياري
request.GET.get('id')

وفي الحالات التي يكون لديك فيها كائن request فقط يمكنك استخدام:

request.parser_context['kwargs']['your_param']

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن