Ich verwende django Vorlagen eine E-Mail zu erstellen. Ich mache so etwas wie diese:Wie erhalte ich die Servernamen in Django für eine vollständige URL?
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()
Meine Vorlage URL-Muster wie so genannt, verwendet: {% url url_name Parameter%}
die gut arbeitet, außer es eine relative URL übertragen wird, wie: /app_name/url_node/Parameter
Normalerweise ist das genug, aber da dies eine E-Mail ist, brauche ich es wirklich eine vollständige URL - mit dem Server-Namen vorangestellt, wie: http://localhost:8000/app_name/url_node/parameter.
Wie kann ich das tun? Wie bekomme ich den Servernamen dynamisch? (Ich will es nicht fest codieren).
Ein anderer Weg zu fragen: wie bekomme ich HttpServletRequest.getContextPath() ala Java, sondern in Django/Python?
dank
Wie wäre es OHNE Seiten zu verwenden? Gibt es eine Möglichkeit, dies zu tun? Es ist ziemlich albern, sich auf ein Modell verlassen zu müssen. – JamesD
Sie können immer es in der Einstellungsdatei gesetzt und over-ride es mit Ihren local_settings Datei – super9
http://stackoverflow.com/questions/2345708/how-can-i-get-the-full-absolute-url-with anzeigen -domain-in-django – glarrain