Dato un sito web, come otterresti l'HOST di quello in un modello django, senza passare quella var dalla vista?Come ottenere base_url nel template django
http://google.com/hello --> {{ BASE_URL }} ==> 'http://google.com'
Dato un sito web, come otterresti l'HOST di quello in un modello django, senza passare quella var dalla vista?Come ottenere base_url nel template django
http://google.com/hello --> {{ BASE_URL }} ==> 'http://google.com'
Questo è stato risposto ampiamente nel seguente post
Ci sono diversi modi di farlo:
** Plea nota che questi possono essere falsificati
È 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.
grazie per la risposta/le opzioni complete. Potresti aggiungere un po 'su come' i primi due possono essere falsificati? – David542
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