0

Django のテンプレートについて疑問があります。サイト内のすべてのページ (スタイル、ヘッダー、フッターを継承) の同じ base.html から拡張された HTML 電子メールで送信するためのテンプレートを作成します。

私の問題は次のとおりです。すべての URL は相対的であり、自分のサイトにいる場合は正常に機能しますが、ドメインの外部にあるため、電子メールには何も表示されません。

絶対パスを使用して電子メールのヘッダーとフッターを複製する必要がありますか? アプリ内のすべてのパスを相対パスから絶対パスに変更する必要がありますか? テンプレートをレンダリングするときに URL を変更するためのフィルターはありますか?

誰かがアドバイス/ヒントをくれることを願っています。

よろしく、クリスチャン

4

1 に答える 1

0

サンプル:

ビュー.py

from django.core.mail import send_mail
from django.template.loader import render_to_string

def notify_admin(request, topic):
    message = render_to_string('emails/new_speakup_topic.txt', {
            'topic': topic, 'ip_address': get_ip(request)})
    subject = "Topic: {0}".format(topic.title)
    send_mail(subject, message, from_email,
        ['to_email',])

テンプレートフォルダー内にメールフォルダーを作成し、このtxtをメールフォルダーに配置します

sample.txt

{{ topic.title }}
Category: {{ topic.category }}
Author: {{ topic.author.username }}
IP: {{ ip_address }}

{{ topic.description }}

https://site.com/speakup/topic/{{ topic.id }}/
于 2013-01-26T05:39:22.670 に答える