備忘録(Python)」カテゴリーアーカイブ

Pythonで初期化をするときに変数とリストで挙動が違う

Pythonで複数の変数を初期化するときに

と書くと全ての変数が0で初期化されます。

しかし、次のように書くこともできます。

この書き方だと1行で書けてコードが縦長にならないメリットがあります。

しかし、この書き方をリストでも行うと

想定外のことが起きます。

続きを読む

さくらインターネットレンタルサーバーでPython仮想環境のCRONを設定

さくらインターネットのレンタルサーバーのスタンダードプランでCRONで仮想環境でのPythonをスケジュールで実行する方法を調べました。

まずは、実行したいPythonをサーバーに保存します。

続いて、Pythonがサーバー上で問題なく実行できるかの確認を行います。

続きを読む

Djangoのエラー通知メールが届かない

Djangoでエラー通知をメールで受信したいことがありましたので備忘録。

メール送信先の設定

settings.pyに設定を追記すればいいみたいでしたが、少しはまりました。

ADMINSの設定

NG:[(‘John’, ‘john@example.com’)]

OK:[(‘John’, ‘john@example.com’),]

末尾のカンマが必要だった。

メール送信が465ポートでできない。

EMAIL_PORT=465
EMAIL_USE_TLS=True

とするも送信できない。

EMAIL_PORT=587
EMAIL_USE_TLS=False

とすると送信できる。

送信エラーを見ると、メールサーバーがSTARTTLSに対応していない。

記事を見ると、EMAIL_PORTとEMAIL_USE_TLSの設定項目のみの記述が多いのですが、公式ドキュメントを確認すると、EMAIL_USE_SSLの設定もある。

なので、

EMAIL_PORT=465
EMAIL_USE_TLS=False
EMAIL_USE_SSL=True

とすると送信できた。