私は単純にそうように解析するためのテンプレートの中から、現在のSite
を取得しようとしている:テンプレートから現在のサイトにアクセスできますか?
<h3>{{ site.name }}</h3>
は残念ながら、これは何かを育てていません。
テンプレートから現在のサイトにアクセスする方法はありますか?
私は単純にそうように解析するためのテンプレートの中から、現在のSite
を取得しようとしている:テンプレートから現在のサイトにアクセスできますか?
<h3>{{ site.name }}</h3>
は残念ながら、これは何かを育てていません。
テンプレートから現在のサイトにアクセスする方法はありますか?
あなたの質問のタイトルは、「ビュー」と「テンプレート」は互換性があるとみなします。現在のサイトをテンプレートで取得するには、テンプレートのレンダリングに使用するコンテキストに追加する必要があります。 RequestContext
を使用している場合は、これを自動的に行うコンテキストプロセッサを作成することができます。
あなたがそうのようにこれを行うには、コンテキストプロセッサを書くことができます、そして、
from django.contrib.sites.models import Site
def site_processor(request):
return { 'site': Site.objects.get_current() }
あなたTEMPLATE_CONTEXT_PROCESSORS
にそれを追加し、そのようにそれを使用します。bradleyayersプロセッサを使用して、
<h3>{{ site.name }}</h3>
変なふうNull結果を与えたので、Siteフレームワークを使用する代わりに、リクエスト内でパラメータを使用しました。
def host_processor(request):
return { 'host': request.get_host() }
が、それは私が `django.views.generic.simple.direct_to_template`を使用してい
助けを願って、私は右に、カバーされるべきである:
ので、プロセッサは、そのように見えるのだろうか?このためのコンテキストプロセッサは内蔵されていませんか? –
はい、 'direct_to_template'は' RequestContext'を使いますが、Djangoにはコンテキストプロセッサーがないので、独自のコンテキストプロセッサーを書く必要があります。あるいは、現在のサイトをコンテキストに追加する引数を 'direct_to_template'に渡すこともできます。 –
'site'ではなく' site_processor'という名前の関数はなぜですか? –