ジャンゴ·protocolifyは、テンプレートコードのブロック内のリンクで使用されるプロトコル/方式が変更されることを可能にするのDjangoのテンプレートタグです。
Webサイトのセクションでは、HTTPS(例えば支払いページ)を使用して、ユーザーは、彼らがページを離れる場合は、HTTPを使用するように戻したい場合は、このためのユースケースです。通常は、しかし、これはのようなURLになります、URLを生成するために、{%のURL%}テンプレートタグを使うことになるでしょう:
/製品/
のではなく:
http://example.com/products/
これにより、ユーザーはHTTPSページに入ると、彼らは手動で、ブラウザのアドレスバーにURLを変更しない限り、彼らはHTTPSを使用して立ち往生されることを意味します。
ジャンゴ·protocolifyが輝く場所です。
利用
{<新>%にprotocolify [古い]%}
例(要求がhttp://example.com/blah/することであったと仮定します):
{%負荷protocolifyの%}
{%protocolifyに「https」の%}
{%endprotocolify%}
に描画します:
(:[a-zA-Z]の+古いデフォルト注)これは、現在、単純な正規表現とurlparse.urljoin()のカップルを使用して実装されます。
#例えばHREF = "http://google.com"
re.sub(R '(SRC | HREF)= "%sの://'%古い、R ' 1 ="%sの://'%新しいです、...)
#例えばHREF = "../製品」
re.findall(R "" "(SRC | HREF)=(" | ")([AZ] [-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」を追加します。
要件:ます。
Pythonの
ジャンゴ
ます。
コメントが見つかりません