Obtener el URL que se utiliza actualmente cuando una en la plantilla de Django para nosotros en una miga de pan?

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

Pregunta

Tengo una aplicación que sirve para dos propósitos - muestra a los miembros y los centros de mi compañía. Ambos trabajan exactamente de la misma, salvo una variable diferente al filtrar mi modelo. El problema es que no puedo obtener la URL actual en la plantilla a utilizar en mis migas de pan personalizados.


Tengo esta URLPATTERN en mi urls.py principal:

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

de los cuales enlaces a mi aplicación 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'),
)

en mi plantilla Deseo crear un enlace a la primera urlpatten para su uso con mis migas de pan personalizados

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

o

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

en base a qué URL que estoy usando la aplicación con.

mi punto de vista es similar al siguiente:

# ---- 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())

Me gustaría encontrar la url base a la variable which_app pasado al def. Me parece que no puede utilizar resolve() o reverse(). Probablemente estoy haciendo mal. Realmente no tengo una plantilla para mostrar en este momento.

¿Alguien tiene alguna sugerencia? Me gustaría algún consejo.

Gracias de antemano.

¿Fue útil?

Solución

No es necesario utilizar una función. Su punto de vista se pasa el objeto request, que tiene una path atributo que es el camino que se llama. Ver los documentos de solicitud de .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top