Python3

Python3

Pythonでライブドアブログに記事を投稿・取得する

Pythonでlivedoorのブログサービスに記事を取得・投稿するlivedoorブログへの投稿livedoor blogのサービスでは、AtomPub APIを使って記事の編集を行うことができる。これをPythonで行う方法をメモとして...
Python3

Django コンテキストプロセッサでテンプレートコンテキストに共通の変数を埋め込む

Djangoの全てのhtmlテンプレートで共通の変数を埋め込む。テンプレートコンテキスト(以下コンテキスト)に、変数名をキーとして、値を値として埋め込めばいい。方法はとりあえず3通りある。1つ1つのビューに書くビューが少なければあまり手間で...
Python3

Django Template Languageでの変数のエスケープ回避

Django Template Language(DTL)でのエスケープメモhtmlレンダリングで使うDTLのデフォルトでは、変数を展開すると、自動で文字実体参照などの実体参照に置き換えられてしまう。(エスケープされてしまう。)html要素...
Python3

PythonのMockと@patchのメモ

Pythonのテストで使うMockとpatchについてmock詳しいことは、unittest.mock --- 入門 — Python 3.8.2 ドキュメントにて。mockはテスト中で呼び出す必要はあるが、本来の動作はさせないで、呼び出し...
Python3

Pythonで関数名を動的に作成し、実行する

pythonで関数を動的に実行する。eval()やast.literal_eval()を使う動的な実行といえば、eval()。>>> eval('1+4')5>>> def f(): print('hello func')... >>> e...
Python3

pytzのlocalizeとnormalizeを使い分ける

pythonのタイムゾーンデータベースモジュールのpytzのlocalize()についてpytzのlocalizelocalizeはdatetime.datetimeインスタンスにタームゾーンを付加できるもの。pytz.timezone('...
Python3

pymongo findでできることはaggregateではしない

pymongoではなるべくaggregateでなく、findを使いたい。なので、findの引数をメモ。aggregateは、パイプラインを使って色々できるが、個人的にはfindで実現できない場合だけ使いたい。($unwindなど)find自...
Python3

python3 親兄弟フォルダのモジュールをインポート。ルートフォルダから実行。

Pythonのimportについて調べる。想定プロジェクトのルートディレクトリから、子孫のディレクトリにあるスクリプトの実行を想定する。そのスクリプトでは、親兄弟のディレクトリのモジュールをインポートする。参考公式docsを見るのがいい。i...
Python3

Flaskのデフォルトルートが動作しない問題を修正した

Flaskのデフォルトルートが動作しない問題を修正した。起きた問題次のようなappのセットアップを行うと、app = Flask(__name__, static_url_path='', static_folder="staticdir"...
Python3

Pythonのsmtplibモジュールでgmailに接続してメール送信

Python3からsmptlibを使ってメール送信を行う。大分前にDjangoを使った送信を行なったことがあるが、Flaskでもメール送信したい。Flaskのエクステンションとかあるかもしれないが、pythonのモジュール(smtplibと...