Ottenere l'url attualmente utilizzato quando un sul modello di Django per noi in un breadcrumb?
-
11-10-2019 - |
Domanda
Ho un app che serve a due scopi - visualizza soci e centri di mia azienda. Entrambi lavorano esattamente lo stesso, salvo una variabile diversa quando si filtra il mio modello. Il problema è che non posso ottenere l'URL corrente sul modello da utilizzare nelle mie briciole di pane personalizzate.
Ho questo URLPATTERN nel mio urls.py principale:
# --- 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'),
di cui i collegamenti per la mia app 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'),
)
il mio modello desidero creare un collegamento al primo urlpatten per l'uso con i miei pangrattato personalizzati
<a href='/find-member/'>members</a>
o
<a href='/find-centre/'>Centre</a>
in base alla quale url sto utilizzando l'applicazione con.
mio punto di vista assomiglia a questo:
# ---- 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())
Vorrei trovare l'URL in base alla variabile which_app
passata nel DEF.
Io non riesco a usare resolve()
o reverse()
. Probabilmente sto facendo male. Non ho davvero avuto un modello per mostrare al momento.
Qualcuno ha qualche suggerimento? Mi piacerebbe qualche consiglio.
Grazie in anticipo.
Soluzione
Non è necessario utilizzare una funzione. La visualizzazione viene passato l'oggetto request
, che ha un path
attributo che è il percorso che è stato chiamato. Vedi la documentazione richiesta .