django-protocolify

Скріншот програми:
django-protocolify
Дані програми:
Версія: 0.1.1
Дата завантаження: 12 May 15
Розробник: Bradley Ayers
Ліцензія: Безкоштовно
Популярність: 12

Rating: 2.0/5 (Total Votes: 1)

Django-protocolify є тег шаблон для Django, що дозволяє протокол / схеми використовується в посиланнях в межах блоку коду шаблону повинні бути змінені.
Прецедентів для цього, коли частина вашого веб-сайту використовує HTTPS (наприклад, сторінки оплати), і ви хочете, щоб користувач повернутися до використання HTTP, якщо вони покидають сторінку. Зазвичай ви будете використовувати {%}% гіперпосилання тег шаблону для створення URL-адрес, проте це призведе до URL, як:
/ Продукти /
швидше ніж:
http://example.com/products/
Це означає, що як тільки користувач вводить сторінку HTTPS, вони будуть обмежені використанням протоколу HTTPS, якщо вони вручну не змінити URL в адресному рядку браузера.
Це десь Django protocolify світить.
<Сильний> Використання
{% Protocolify [старий], щоб <новий>%}
Приклад (передбачається, запит був http://example.com/blah/):
{% Навантаження protocolify%}
{% Protocolify до "HTTPS"%}










{%}% Endprotocolify
надає:










Це в даний час здійснюється за допомогою пари спрощених регулярних виразів і urlparse.urljoin () (Примітка: за замовчуванням в старих [A-Za-Z] +):
# Наприклад HREF = "http://google.com"
re.sub (г '(SRC | HREF) = "% s: //'% старий, г ' 1 ="% s: //'% новий, ...)
# Наприклад HREF = "../ продукти"
re.findall (г "" "(SRC | HREF) = (" | ") ([AZ] [-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. Завантажити та встановити: пункт встановити Django-protocolify
2. Додати "protocolify" з установкою INSTALLED_APPS в проекті

Вимоги :.

  • Python
  • Джанго

Інші програми розробника Bradley Ayers

django-attest
django-attest

20 Feb 15

django-payme
django-payme

12 May 15

django-ace
django-ace

20 Feb 15

django-protocolify

Коментар не знайдено
додати коментар
Включіть картинки!