اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

يمكنك أن تستعمل الدالة 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 غير المشفر.

 

  • 0
نشر

يمكنك استخدام 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.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...