django-protocolify

Software screenshot:
django-protocolify
Podrobnosti Software:
Verze: 0.1.1
Datum uploadu: 12 May 15
Vývojka: Bradley Ayers
Licence: Volný
Popularita: 12

Rating: 2.0/5 (Total Votes: 1)

Django-protocolify je šablona tag pro Django, který umožňuje protokol / schéma používá ve spojení v rámci bloku kódu šablony, které mají být změněny.
Use-case pro to je, když část vašeho webu používá HTTPS (např platební stránku) a chcete, aby uživatel vrátit k používání HTTP, pokud opustí stránku. Obvykle budete používat na {% url%} šablony tag vygenerovat adresy URL, ale to bude mít za následek adresy URL, jako je:
/ produkty /
spíše než:
http://example.com/products/
To znamená, že jakmile uživatel zadá stránku HTTPS, budou přilepená pomocí HTTPS, pokud ručně upravit adresu URL v adresním řádku svého prohlížeče.
To je místo, kde Django-protocolify svítí.
Použití
{% Protocolify [stará] na %}
Příklad (za předpokladu, že žádost byla http://example.com/blah/):
{% Zatížení protocolify%}
{% Protocolify na "https"%}










{% Endprotocolify%}
omítky na:










To je v současné době implementován pomocí pár zjednodušující regulárních výrazů a urlparse.urljoin () (poznámka: staré výchozí hodnota je [a-zA-Z] +):
# Např. href = "http://google.com"
re.sub (r '(src | href) = "% s: //'% staré, r ' 1 ="% s: //'% nový, ...)
# Např. href = "../ výrobky"
re.findall (R "" "(src | href) = (" | "), ([az] [-Z0-9 + -.] *:?!.?) (*) 2" "")
Pokud je relativní cesta nahradil (např ../products) je to spojené s request.path. Aby to fungovalo, kontext šablona musí obsahovat HttpRequest v žádosti proměnné. Toho může být dosaženo použitím RequestContext a přidání "django.core.context_processors.request" na nastavení TEMPLATE_CONTEXT_PROCESSORS.
Doména ambiguitity je zaveden, když je relativní cesta (např / produkty /) protocolified (protože musí být zadán domény). Domény odhady jsou prováděny v následujícím pořadí:
1. request.META ["HTTP_HOST"] - když kontext obsahuje požadavek
2. Site.objects.get_current). Doména (
Instalace
1. Stáhněte a nainstalujte: pip nainstalovat Django-protocolify
2. Přidat "protocolify" na nastavení INSTALLED_APPS v projektu

Požadavky na :.

  • Python
  • Django

Ostatní software developer Bradley Ayers

Komentáře k django-protocolify

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!