Amer Abdallah نشر 28 أغسطس 2021 أرسل تقرير نشر 28 أغسطس 2021 في مشروع جانغو Django الخاص بي أريد الحصول على عنوان URL الكامل للصفحة الحالية (مثل /https://example.com/path/to/route)، كيف أقوم بذلك بإستخدام التابع request؟ 1 اقتباس
1 سامح أشرف نشر 28 أغسطس 2021 أرسل تقرير نشر 28 أغسطس 2021 يمكنك أن تستعمل الدالة build_absolute_uri() للحصول على عنوان URL المطلق للصفحة الحالية، كالتالي: >>> request.build_absolute_uri() 'https://example.com/posts/slug/how-to-create-django-project/?color=dark' وإن قمت بتمرير عنوان نسبي relative، سوف تعيد الدالة العنوان المطلق absolute URL، كالتالي: >>> request.build_absolute_uri('/posts/slug/') 'https://example.com/posts/slug//' ويمكنك أيضًا أن تقوم بتحديد النطاق domain كالتالي: >>> request.build_absolute_uri('https://anotherSite.com/posts/slug/') 'https://anotherSite.com/posts/slug//' لاحظ أن البروتوكول المستعمل هو نفسه في النتيجة، لذا يجب عليك الحذر في حالة إستعمال برتوكول http غير المشفر. 1 اقتباس
0 Ali Haidar Ahmad نشر 29 أغسطس 2021 أرسل تقرير نشر 29 أغسطس 2021 يمكنك استخدام request.build_absolute_uri للقيام بذلك: FULL_URL_WITH_QUERY_STRING: request.build_absolute_uri() FULL_URL: request.build_absolute_uri('?') ABSOLUTE_ROOT: request.build_absolute_uri('/')[:-1].strip("/") ABSOLUTE_ROOT_URL: request.build_absolute_uri('/').strip("/") أفضل طريقة لاستخدام عناوين URL المطلقة في Django، حيث يمكنك إنشاء معالجات سياق context_processors أو برمجيات وسيطة middleware والعثور على ال ABSOLUTE_URL وإعادته بحيث يمكنك استخدام أي مكان في Django. مثال: def absolute(request): urls = { 'ABSOLUTE_ROOT': request.build_absolute_uri('/')[:-1].strip("/"), 'ABSOLUTE_ROOT_URL': request.build_absolute_uri('/').strip("/"), } return urls وبعد ذلك يمكنك استخدام {{ABSOLUTE_ROOT}} في أي مكان تريد فيه نموذج django. 1 اقتباس
السؤال
Amer Abdallah
في مشروع جانغو Django الخاص بي أريد الحصول على عنوان URL الكامل للصفحة الحالية (مثل /https://example.com/path/to/route)، كيف أقوم بذلك بإستخدام التابع request؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.