سؤال

في ال كتاب Django في الفصل 6 حول موقع المسؤول، يقولون لي أن أضيف urlpattern follwing إلى urls.py:

urlpatterns = patterns('',
    # ...
    (r'^admin/', include(admin.site.urls)),
    # ...
)

ولكن لجعلها تعمل على نظامي، اضطررت إلى عدم إرجاع الخط التالي:

(r'^admin/(.*)', admin.site.root),

هل يستطيع شخص ما تنويري على ما هي الاختلافات؟

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

المحلول

كل من Gabriel و Antti لديهما الطريق الخطأ، لسوء الحظ.

admin.site.root هو سلوك الإصدار 1.0. إذا قمت بتنزيل 1.0 أو 1.0.2، فهذا ما يجب عليك استخدامه.

ومع ذلك، كانت هناك بعض التغييرات في معالجة عنوان URL لشركة Django's Admin في الآونة الأخيرة، والتي تعد جزءا من 1.1 التي تم إصدارها حتى الآن. هذه هي في المقام الأول لجعل من الممكن استخدام الدالة العكسي () للبحث عن عناوين URL للمسؤول. لذلك إذا كان لديك الخروج الأخيرة من التعليمات البرمجية، فستحتاج إلى استخدامها admin.site.urls.

الرابط الخاص بك هو الإصدار الثاني من دفتر Django، والذي يتم تحديثه للإصدار 1.1 - والمستندات التي يشيرها Gabriel أيضا للحصول على الخروج الحالي، والذي يحتوي على الإصدار الجديد.

(فقط للكمال، أود أن ألاحظ أن إصدارات Django قبل دمج NewForms-Admin، قبل 1.0، المستخدمة admin.urls, ، ليس admin.site.urls أو admin.site.root.)

نصائح أخرى

يرجى ملاحظة ما يلي؛ كافحت بسبب (. *) في الإدخال الثاني أدناه.

يعمل، ولكن تم إهمالها:

Urlpatterns = أنماط (''،
(R '^ admin /(.*)'، admin.site.root))،)

غير صحيح، ويعمل جزئيا:

Urlpatterns = أنماط (''،
(R '^ admin /(.*)'، تشمل (admin.site.urls))،)

صحيح، ويعمل بشكل جيد:

Urlpatterns = أنماط ('' '، (r' ^ admin / '، تشمل (admin.site.urls))،)

يتحدث كتاب Django عن الإصدار 0.9.6. منذ ذلك الحين تم إعادة كتابة المشرف. في Django 1.0 يتم تقديم المشرف بأكمله بواسطة عرض واحد (admin.site.root) الذي يوضح بقية عنوان URL داخليا.

مقارنة دليل المشرف 0.96.3 مع ال المقابلة الدليل من 1.0.2. وبعد لا يوجد urls.py في الأخير.

من التعليمات البرمجية المصدر ل admin.site.root وظيفة:

الجذر (الذات، الطلب، URL): يتعامل مع توجيه URL الرئيسي لتطبيق المسؤول.

...] يمكن استخدام الطريقة كدالة عرض Django التي تقدم واجهة إدارة كاملة لجمع النماذج المسجلة.

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