Получить используемый в настоящее время URL-адрес, когда на шаблоне в Django для нас в хлебной крошке? - PullRequest
1 голос
/ 15 января 2011

У меня есть приложение, которое служит двум целям - отображает участников и центры моей компании. Они оба работают точно так же, сохраняя разные переменные при фильтрации моей модели. Проблема в том, что я не могу получить текущую ссылку на шаблон для использования в моих пользовательских хлебных крошках.


У меня есть этот urlpattern в моем основном urls.py:

# --- 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'),
)

в моем шаблоне я хочу создать ссылку на первый urlpatten для использования с моими пользовательскими панировочными сухарями

<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(). Я, вероятно, делаю это неправильно. У меня сейчас нет шаблона для показа.

У кого-нибудь есть предложения? Я хотел бы получить несколько советов.

Заранее спасибо.

1 Ответ

3 голосов
/ 15 января 2011

Вам не нужно использовать функцию.Вашему представлению передается объект request, который имеет атрибут path, который является вызванным путем.См. запрос документов .

...