سؤال

أجد صعوبة في فهم ما ينتقل بالضبط إلى patterns طريقة في Django.

كما ترى ، عادة ما يكون لدي urls.py مثل:

urlspatterns = patterns('example.views',

    (r'/$','func_to_call'),

)

ثم في func_to_call سأحصل على كل ما أريده من request كائن باستخدام request.path. ومع ذلك ، في حالة أخرى ، من المروع حقًا أنني أتجاهل بقع Django لمثل هذه الطريقة الأطول والأقل نظافة للحلية - والسبب في أنني لا أفهم ما يجب القيام به!

لنفترض أن لديك 3 خوادم تضع تطبيق Django الخاص بك ، وكلها لها اسم مجال وبعض الاختلافات مثل server1/djangoApplicationName/queryparams, server2/application/djangoApplicationName و server3/queryparams. ماذا سيفعل urlpattern يتم تمريرها؟ عنوان URL كله؟ كل شيء بعد اسم المجال؟

هل كانت مفيدة؟

المحلول

يرى urlconf regex جزء المسار فقط من عنوان URL ، مع تجريد الملاذ الأولي للأمام. لا تتم مطابقة معلمات الاستعلام من قبل urlconf ، يمكنك الوصول إليها عبر الطلب. الحصول على عرضك. لذلك يمكنك كتابة نمط مثل هذا:

urlpatterns = patterns('myapp.views',
    url(r'^myapp/something/$', 'something_view_func')
)

ال توثيق لديه المزيد من الأمثلة والتفاصيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top