জ্যাঙ্গো-protocolify টেমপ্লেট কোড একটি ব্লক মধ্যে উপস্থিত লিঙ্ক ব্যবহার প্রোটোকল / প্রকল্প পরিবর্তন করা সম্ভব হবে যে জ্যাঙ্গো জন্য একটি টেমপ্লেট ট্যাগ.
আপনার ওয়েব সাইটের একটি অধ্যায় মধ্যে HTTPS (যেমন একটি পেমেন্ট পাতা) ব্যবহার করে এবং আপনি ব্যবহারকারী তারা পৃষ্ঠাটি ছেড়ে হলে HTTP ব্যবহার করে ফিরে আসতে চান যখন এই ব্যবহারের জন্য একটি কেস হয়. সাধারণত আপনি তবে এই মত URL গুলি স্থাপিত হবে, URL গুলি উৎপন্ন {% URL%} টেমপ্লেট ট্যাগ ব্যবহার করা হবে:
/ পণ্য /
বরং:
http://example.com/products/
এই একটি ব্যবহারকারী একটি মধ্যে HTTPS পাতা প্রবেশ একবার, তারা নিজে তাদের ব্রাউজারের এড্রেস বারে URL টি পরিবর্তন যদি না https ব্যবহার আটকে করা হবে এর মানে হল যে.
জ্যাঙ্গো-protocolify shines যেখানে.
ব্যবহার
{% Protocolify [পুরাতন] করতে <নতুন>%}
উদাহরণ (অভিমানী অনুরোধ http://example.com/blah/ ছিল):
{% লোড protocolify%}
{% Protocolify করতে "HTTPS"%}
<একটি href = "/ ABCD /">
<একটি href = "ABCD /">
<একটি href = "./ ABCD /">
<একটি href = "../ ABCD /">
<একটি href = "http://example.com/abcd/">
<একটি href = "http://example.com">
<একটি href = "ftp://example.com/abcd/">
<একটি href = "ftp://example.com">
<একটি href = "ftp://example.com/">
<একটি href = "">
{% Endprotocolify%}
উপস্থাপনা:
<একটি href = "https://example.com/abcd/">
<একটি href = "https://example.com/blah/abcd/">
<একটি href = "https://example.com/blah/abcd/">
<একটি href = "https://example.com/abcd/">
<একটি href = "https://example.com/abcd/">
<একটি href = "https://example.com">
<একটি href = "https://example.com/abcd/">
<একটি href = "https://example.com">
<একটি href = "https://example.com/">
<একটি href = "https://example.com/blah/">
(: [একটি-ZA-টু Z] পুরানো ডিফল্ট উল্লেখ্য) এই বর্তমানে সরল রেগুলার এক্সপ্রেশন এবং urlparse.urljoin () একটি দম্পতি ব্যবহার বাস্তবায়িত হয়:
# যেমন href = "http://google.com"
re.sub (রাঃ '(src | href) = "% এর: //'% বয়সী, আর ' n = 1"% এর: //'% নতুন, ...)
# যেমন href = "../ পণ্য"
re.findall (রাঃ "" "(src | href) = (" | ') ([নমুনা এ থেকে জেড] [একটি-z0-9 + + -.] *:!.?) (*) 2 "" ")
একটি আপেক্ষিক পাথ (যেমন ../products) প্রতিস্থাপিত হয় যখন এটা request.path করতে যোগদান. এই কাজ করার জন্য, টেমপ্লেট প্রেক্ষাপটে একটি অনুরোধ পরিবর্তনশীল HttpRequest থাকতে পারবে না. এই একটি RequestContext ব্যবহার এবং TEMPLATE_CONTEXT_PROCESSORS সেটিং "django.core.context_processors.request" যোগ করে অর্জন করা সম্ভব.
(ডোমেইন উল্লেখ করা আবশ্যক কারণ) একটি আপেক্ষিক পাথ (যেমন / পণ্য /) protocolified হয় যখন ডোমেন ambiguitity চালু করা হয়. ডোমেন অনুমান নিম্নলিখিত ক্রম অনুযায়ী সঞ্চালিত হয়:
1. request.META ["HTTP_HOST"] - প্রেক্ষাপটে অনুরোধ রয়েছে যখন
2. Site.objects.get_current (). ডোমেইন
সংস্থাপনা
1. এবং ডাউনলোড করুন ইন্সটল করুন: এটি পিপ জ্যাঙ্গো-protocolify
2. যোগ করুন আপনার প্রকল্পে INSTALLED_APPS সেটিং "protocolify"
আবশ্যক :.
- পাইথন
<লি> জ্যাঙ্গো
পাওয়া মন্তব্যসমূহ না