django-protocolify

Skjermbilde programvare:
django-protocolify
Prog.varedetaljer:
Versjon: 0.1.1
Last opp dato: 12 May 15
Utvikler: Bradley Ayers
Lisens: Gratis
Popularitet: 12

Rating: 2.0/5 (Total Votes: 1)

django-protocolify er et mal for Django kode som gjør det mulig protokoll / ordningen anvendes i koblinger i en blokk av templat-kode som skal endres.
En bruk-case for dette er når en del av webområdet bruker HTTPS (for eksempel en betalingsside), og du vil at brukeren skal komme tilbake til ved hjelp av HTTP hvis de forlater siden. Vanligvis vil du bli med {% url%} mal tag å generere nettadresser, men dette vil resultere i nettadresser som:
/ produkter /
heller enn:
http://example.com/products/
Dette betyr at når en bruker skriver inn en HTTPS-side, vil de bli sittende fast med HTTPS med mindre de manuelt endre nettadressen i nettleserens adressefelt.
Det er der django-protocolify skinner.
Bruk
{% Protocolify [gamle] til %}
Eksempel (forutsatt at forespørselen var å http://example.com/blah/):
{% Load protocolify%}
{% Protocolify til "https"%}










{% Endprotocolify%}
gjengir til:










Dette er i dag implementert ved hjelp av et par forenklede regulære uttrykk og urlparse.urljoin () (Merk: gamle som standard [a-za-Z] +):
# F.eks href = "http://google.com"
re.sub (r '(src | href) = "% s: //'% gamle, r ' 1 ="% s: //'% nye, ...)
# F.eks href = "../ produkter"
re.findall (r "" "(src | href) = (" | ") ([a] [a-Z0-9 + -.] *:?!.?) (*) 2" "")
Når en relativ bane erstattes (f.eks ../products) det har sluttet seg til request.path. For at dette skal fungere, må malen sammenheng inneholde HttpRequest i en anmodning variabel. Dette kan oppnås ved hjelp av en RequestContext og tilsette "django.core.context_processors.request" til den TEMPLATE_CONTEXT_PROCESSORS innstillingen.
Domain ambiguitity er innført når en relativ bane (f.eks / produkter /) er protocolified (fordi domenet må spesifiseres). Domain gjetninger er utført i følgende rekkefølge:
1. request.META ["HTTP_HOST"] - når konteksten inneholder forespørsel
2. Site.objects.get_current (). Domain
Installasjon
1. Last ned og installer: pip installere django-protocolify
2. Legg til "protocolify" til INSTALLED_APPS innstilling i prosjektet

Krav .

  • Python
  • Django

Annen programvare fra utvikleren Bradley Ayers

django-ace
django-ace

20 Feb 15

django-payme
django-payme

12 May 15

Kommentarer til django-protocolify

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!