در جنگو-protocolify برچسب قالب برای جنگو که اجازه می دهد تا پروتکل / طرح مورد استفاده در لینک هایی از یک بلوک از قالب کد به تغییر است.
مورد استفاده برای این زمانی است که یک بخش از وب سایت خود را با استفاده از HTTPS (به عنوان مثال یک صفحه پرداخت) و شما می خواهید کاربر به بازگشت به استفاده از HTTP در صورتی که صفحه را ترک کنید. به طور معمول شما می شود با استفاده از {}٪ URL٪ تگ قالب برای تولید آدرس ها، با این حال این را در URL ها مانند نتیجه:
/ محصولات /
به جای:
http://example.com/products/
این به این معنی است که یک بار که کاربر وارد یک صفحه HTTPS، آنها را با استفاده از HTTPS، مگر اینکه دستی URL در نوار آدرس مرورگر خود را تغییر دهید گیر کرده است.
این جایی است که جنگو-protocolify می درخشد.
استفاده
{٪ protocolify [قدیمی] به <جدید>٪}
به عنوان مثال (درخواست فرض بود به http://example.com/blah/):
{٪ protocolify بار٪}
{٪ protocolify به "صفحه ی"٪}
از >
از >
از >
از >
از >
از >
از >
از >
از
از >
{٪ endprotocolify٪}
ارائه به:
از >
از >
از >
از >
از >
از >
از >
از >
از >
از >
(: پیش فرض های قدیمی برای [-ZA-Z] + توجه داشته باشید) این است که در حال حاضر با استفاده از یک زن و شوهر از عبارات منظم ساده و urlparse.urljoin () اجرا:
# به عنوان مثال عکاس هنگام عکسبرداری = "http://google.com"
re.sub (R '(SRC | عکاس هنگام عکسبرداری) = "٪ s را: //'٪ قدیمی، R ' 1 ="٪ s را: //'٪ جدید، ...)
# به عنوان مثال عکاس هنگام عکسبرداری = "../ محصولات"
re.findall (R "" "(SRC | عکاس هنگام عکسبرداری) = (" | ") ([AZ] [A-z0-9 + -.] *:؟!.؟) (*) 2" "")
هنگامی که یک مسیر نسبی جایگزین است (به عنوان مثال ../products) آن را به request.path پیوست. برای انجام این کار، زمینه قالب باید HttpRequest در یک متغیر درخواست باشد. این را می توان با استفاده از یک RequestContext و اضافه کردن "django.core.context_processors.request" به تنظیمات TEMPLATE_CONTEXT_PROCESSORS به دست آورد.
ambiguitity دامنه معرفی هنگامی که یک مسیر نسبی (به عنوان مثال / محصولات /) protocolified است (چون دامنه باید مشخص شود). حدس دامنه به ترتیب زیر انجام می شود:
1. request.META ["HTTP_HOST"] - هنگامی که متن حاوی درخواست
2. Site.objects.get_current (). دامنه
نصب
1. دانلود و نصب کنید: تصویر در تصویر نصب جنگو-protocolify
2. اضافه کردن "protocolify" به تنظیمات INSTALLED_APPS در پروژه خود را
در مورد نیاز:.
پایتون
جنگو
نظر یافت نشد