2015-02-19 13 views

risposta

12

Questo è stato risposto ampiamente nel seguente post

Ci sono diversi modi di farlo:

  1. Come david542 descritto **
  2. utilizzando {{request.get_host}} nel tuo modello **
  3. Utilizzando il quadro contrib.sites

** Plea nota che questi possono essere falsificati

+0

grazie per la risposta/le opzioni complete. Potresti aggiungere un po 'su come' i primi due possono essere falsificati? – David542

+0

I primi due dipendono dai metadati della richiesta, che essenzialmente provengono da un browser. Questo problema può essere risolto con l'impostazione degli host consentiti, in cui è possibile trovare maggiori informazioni qui https://docs.djangoproject.com/en/1.7/ref/settings/#allowed-hosts – Elwin

0

È possibile ottenere l'oggetto request nel modello con l'aggiunta nel seguente TEMPLECT_CONTEXT_PROCESSOR middleware nelle impostazioni:

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.request', 
) 

Ecco alcune documentation su di esso. Quindi puoi chiamare il tuo modello:

{{ request.META.HTTP_NAME }} 

E questo ti darà l'url di base.

Problemi correlati