Ecommerce Vente نشر 3 سبتمبر 2022 أرسل تقرير نشر 3 سبتمبر 2022 أريد أن أعمل خيارين فقط في parametrs لأحد url ، مثلا exemple.com/fr , exemple.com/ar فقط بمعنى اريد ان اعمل url ب regex بحيث يحقق فقط ar و fr 1 اقتباس
1 Wael Aljamal نشر 3 سبتمبر 2022 أرسل تقرير نشر 3 سبتمبر 2022 نلاحظ أن الجزء الأول مشترك بين المسارين، ثم يأتي قيمتين اختياريتين exemple.com/fr , exemple.com/ar urlpatterns = [ url(r'^exemple.com/(ar|fr)', admin.site.urls), ] أول جزء يكوت ثابت، ثم نضع بين قوسين القيمتين الاختياريتين و بينهم | الذي يعني أو - or - ( عربي أو فرنسي ) 1 اقتباس
1 Kais Hasan نشر 3 سبتمبر 2022 أرسل تقرير نشر 3 سبتمبر 2022 بما أنك تريد القيام بذلك من أجل اللغة فهناك طريقة أفضل من استعمال ال regex لذلك، و هو استعمال ال i18_patterns بحيث تقوم بإحاطة ال urls التي تريد أن يكون خيار اللغة مفعل من أجلهم و سيقوم الدجانغو تلقائياً بأخذ الخيارات التي قمت بإتاحتها عن طريق ال settings من أجل اللغة. كمثال على ذلك: from django.urls import path, include from pages.views import HomeView from django.conf.urls.i18n import i18n_patterns urlpatterns = i18n_patterns( path('admin/', admin.site.urls), path('products/', include('products.urls')), path('accounts/', include('allauth.urls')), path('reviews/', include('reviews.urls')), path('language-preference/', include('pages.urls')), path('shopping_cart/', include('shopping_cart.urls')), path('', HomeView.as_view(), name='home'), ) و في ملف ال settings يجب عليك وضع ما يلي: LANGUAGES = ( ('ar', gettext('Arabic')), ('fr', gettext('French')), ) USE_I18N = True و بالتالي هنا لن يأخذ غير الخيارين الذي يعبران عن اللغات التي قمت بتحديدها. هذه الطريقة أفضل ﻷنها تلقائياً سوف تقوم بوضع اللغة على اللغة المحلية للمستخدم، بالطبع يجب عليك توفير زر يقوم بعملية التحويل (لن يقوم المستخدم بكتابة اللغة في الرابط)، و لكن حتى بدون زر التحويل هذا سوف يقوم بأخذ اللغة الافتراضية لجهاز المستخدم. هناك طريقة أخرى تعتمد على ال regex و لكنها ليست مستحبة، أما إذا كنت تريد أن يقوم المستخدم بإدخال متحول و له شروط معينة يمكنك القيام بتعديل ذلك في ال view بحيث تقوم بإرجاع 404 في حال لم تكن قيمة المتحول ما تريده. و إذا كنت مصراً على استعمال ال regex فيمكنك استعمال re_path و الذي هو يمثال ال path و لكن يقبل ب regex و بالتالي يمكنك ضمنه وضع خيار ar|fr بحيث سيأخذ فقط أحدهما. 1 اقتباس
السؤال
Ecommerce Vente
أريد أن أعمل خيارين فقط في parametrs لأحد url ، مثلا exemple.com/fr , exemple.com/ar فقط
بمعنى اريد ان اعمل url ب regex بحيث يحقق فقط ar و fr
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.