django テンプレートを使用して電子メールを作成しています。私はこのようなことをします:
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()
私のテンプレートは、次のように名前付き URL パターンを使用します: {% url url_name parameter %}
/app_name/url_node/parameter のような相対 URL をレンダリングすることを除いて、これは正常に機能します。
通常はこれで十分ですが、これは電子メールなので、完全な URL にする必要があり ます。たとえば、 http://localhost:8000/app_name/url_node/parameterのようにサーバー名を前に付けます。
これどうやってするの?サーバー名を動的に取得するにはどうすればよいですか? (確かにハードコードしたくありません)。
別の質問方法: HttpServletRequest.getContextPath() ala Java を取得するにはどうすればよいですか?
ありがとう