Mohssen A Mohssen نشر 4 مارس 2022 أرسل تقرير نشر 4 مارس 2022 أريد أن أقوم بعرض كل المسارات Routes الموجودة في تطبيق مبني بإستخدام جانغو Django، شيء مثل ما يقوم به Laravel من خلال الأمر: php artisan route:list هل هناك طريقة للحصول على كل المسارات؟ 1 اقتباس
1 مسعود زاهي نشر 4 مارس 2022 أرسل تقرير نشر 4 مارس 2022 لعرض كل المسارات الموجودة في تطبيق مبني باستخدام إطار العمل جانغُو توجَد عدة طُرق لذلك منها : باستخدام الدالة get_resolver python manage.py shell >>> from django.core.urlresolvers import get_resolver# نقوم باستدعاء الدالة >>> set(v[1] for k,v in get_resolver().reverse_dict.items()) #يقوم بعرض كل المسارات باستخدام التطبيق django-extensions: بعد تنصيب التطبيق باستخدام pip install django-extensions وإضافته إلى قائمة التطبيقات في ملف الإعدادات INSTALLED_APPS = ( ... 'django_extensions', ... ) يُمكنك طبع المسارات باستخدام الأمر python manage.py show_urls 1 اقتباس
0 Ali Haidar Ahmad نشر 7 مارس 2022 أرسل تقرير نشر 7 مارس 2022 يمكنك القيام بذلك أيضاً من خلال الكود التالي (لنسخ جانغو Django >= 2.0)، حيث يقوم هذا الكود بطباعة جميع عناوين URL، وعلى عكس بعض الحلول الأخرى، فإنه سيطبع المسار الكامل وليس فقط العقدة الأخيرة: from django.conf import settings from django.urls import URLPattern, URLResolver urlconf = __import__(settings.ROOT_URLCONF, {}, {}, ['']) def list_urls(lis, acc=None): if acc is None: acc = [] if not lis: return l = lis[0] if isinstance(l, URLPattern): yield acc + [str(l.pattern)] elif isinstance(l, URLResolver): yield from list_urls(l.url_patterns, acc + [str(l.pattern)]) yield from list_urls(lis[1:], acc) for p in list_urls(urlconf.urlpatterns): print(''.join(p)) ويكون الخرج بالشكل: admin/ admin/login/ admin/logout/ admin/password_change/ admin/password_change/done/ admin/jsi18n/ admin/r/<int:content_type_id>/<path:object_id>/ admin/auth/group/ admin/auth/group/add/ admin/auth/group/autocomplete/ admin/auth/group/<path:object_id>/history/ admin/auth/group/<path:object_id>/delete/ admin/auth/group/<path:object_id>/change/ admin/auth/group/<path:object_id>/ admin/auth/user/<id>/password/ admin/auth/user/ ... etc, etc اقتباس
السؤال
Mohssen A Mohssen
أريد أن أقوم بعرض كل المسارات Routes الموجودة في تطبيق مبني بإستخدام جانغو Django، شيء مثل ما يقوم به Laravel من خلال الأمر:
php artisan route:list
هل هناك طريقة للحصول على كل المسارات؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.