2013-04-15 13 views
8

Voglio progettare un tornare tasto home per il mio sito e come posso ottenere il percorso principale del mio sito nel modello in modo da poter fare qualcosa di simile:Django: come ottenere il percorso radice di un sito nel modello?

<a href="{{ root_url }}">Go back home</a> 

O dovrei prima capire il percorso nelle mie visualizzazioni e quindi passarlo al modello per renderlo in base al contesto. Grazie.

risposta

15

penso che il modo corretto qui è utilizzare il tag {% url %} e Suppongo che tu abbia un URL radice nel tuo url conf.

urls.py

url(r'^mah_root/$', 'someapp.views.mah_view', name='mah_view'), 

Poi nel modello:

<a href="{% url mah_view %}">Go back home</a> 
+0

Grazie, BTW cosa significa il nome nell'url? – dorafmon

+0

È per nominare gli URL in modo da poterli consultare più facilmente. Il nome che ho usato era arbitrario, quindi non ha significato. –

+0

dire che ho un gruppo di post di blog tutti sotto il percorso/blog/some_8_digit_number. Come posso riferirmi con il nome? – dorafmon

7

Si dovrebbe essere in grado di accedere al metodo get_host() della richiesta:

<a href="http://{{ request.get_host() }}">Go back home</a> 

Anche se probabilmente potrebbe anche fare:

<a href="/">Go back home</a> 
+1

Idea interessante. Comunque dal momento che la Home page non deve essere '/' (potrebbe essere ad esempio '/ home') allora penso che la soluzione delle limelight sia migliore. – freakish

3

ho trovato un trucco, utilizzare questo tag:

{{ HTTP_HOST }}

si poteva fare:

<a href="{{ HTTP_HOST }}"> back home <a> 

o

<a href="{{ HTTP_HOST }}/what_you_want"> back home <a> 
Problemi correlati