Estoy usando plantillas django para crear un correo electrónico. Hago algo como esto:¿Cómo obtengo el nombre del servidor en Django para obtener una URL completa?
msg_html = render_to_string('email/%s.html' % template_name, context)
msg = EmailMultiAlternatives(subject, msg_text, from_email, to_list)
msg.attach_alternative(msg_html, "text/html")
msg.content_subtype = "html"
msg.send()
Mi plantilla usos mencionados patrones de URL de este modo: {% parámetro URL_NAME url%}
que funciona muy bien, excepto que tomará una dirección URL relativa, como: /nombre_apl/url_node/parámetro
lo general, eso es suficiente, pero ya que este es un correo electrónico que realmente necesita que sea una URL completa - con el nombre de servidor antepuesto, como: http://localhost:8000/app_name/url_node/parameter.
¿Cómo puedo hacer esto? ¿Cómo obtengo dinámicamente el nombre del servidor? (No quiero codificarlo con seguridad).
Otra forma de preguntar: ¿cómo obtengo HttpServletRequest.getContextPath() ala Java, pero en cambio en Django/Python?
gracias
¿Y SIN utilizar sitios? ¿Hay alguna forma de hacer esto? Es bastante tonto tener que confiar en un modelo. – JamesD
Siempre puedes configurarlo en tu archivo de configuración y anularlo con tu archivo local_settings – super9
Ver http://stackoverflow.com/questions/2345708/how-can-i-get-the-full-absolute-url-with -dominio-en-django – glarrain