パンくずリストでジャンゴのテンプレートにあるときに現在使用されている URL を取得しますか?

StackOverflow https://stackoverflow.com/questions/4700660

質問

私は、会社のメンバーとセンターを表示するという 2 つの目的を果たすアプリを持っています。どちらもまったく同じように機能し、モデルをフィルタリングするときに別の変数を保存します。問題は、カスタム ブレッドクラムで使用するテンプレートに現在の URL を取得できないことです。


メインの urls.py にこの URL パターンがあります。

# --- urls.py ---- 
url(r'^find-member/', include('company.directory.urls'), \
        {'which_app': 'members'}, name='find_member'),
url(r'^find-centre/', include('company.directory.urls'), \
        {'which_app': 'training'}, name='find_centre'),

私のアプリの urls.py へのリンク:

# ---- company/urls.py ----
from django.conf.urls.defaults import *
urlpatterns = patterns('company.directory.views',
    url(r'^$', 'index'),
    url(r'^(?P<slug>\w+)/$', 'index'),
)

私のテンプレートで、カスタム ブレッドクラムで使用する最初の URL パターンへのリンクを作成したいと考えています。

<a href='/find-member/'>members</a>

または

<a href='/find-centre/'>Centre</a> 

アプリを使用している URL に基づいて。

私の見解は次のようになります:

# ---- company/view.py ----
def index(request, which_app=None, slug=None):
    #r = reverse('' ,kwargs={'which_app'=training )
    s = "%s %s" % (which_app, slug)

    return render_to_response('directory/index.html', locals())

に基づいて URL を見つけたいのですが、 which_app defに渡される変数。使えないようです resolve() または reverse(). 。おそらくやり方が間違っていると思います。現在、表示できるテンプレートがありません。

誰か提案はありますか?アドバイスをいただければ幸いです。

前もって感謝します。

役に立ちましたか?

解決

関数を使用する必要はありません。あなたのビューが渡されます request 属性を持つオブジェクト path これが呼び出されたパスです。見る リクエストドキュメント.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top