matobaの備忘録

育児しながら働くあるエンジニアの記録

Django

Djangoのtimezone.nowに関するモヤモヤを調べる

Djangoのtimezone.nowを使っていてモヤモヤした。特に、「なぜ、UTCの時刻を返すのか」と思ったので、調べてみた。 その記録。 背景 Djangoにはtimezoneのutilsがあり、nowという関数を持っている。 これを実行すると次のようになる。 >>> from django.utils…

Pythonで関数呼び出しをキャッシュする

広告よけで持ってた技術メモです。 Pythonで関数呼び出しをキャッシュする方法。

DjangoCongress JP 2023に参加してきました

はい、こんばんは、お疲れ様です。本日、DjangoCongress JP 2023に参加してきました。ここではその体験をレポートとして共有したいと思います。 djangocongress.jp 久しぶりのオフラインイベント まず、イベントでは同僚に結構お会いしました。皆さん、お疲…

DRFでURLパラメータでリソースを指定してViewSetやRouterを作りたい

DRFでURLにパラメータを含んだRouterを作りたいと思った。 調べたところ、次の質問にたどり着いた。 stackoverflow.com stackoverflow.com まず、以下のような形で、正規表現を作る。 router.register( r"project/(?P<project_id>\d+)/task", ProjectTaskViewSet ) そし</project_id>…

django-filterを軽く動かしてみる(DRF編)

昨日、django-filterを動かした記録を書きました。 次は、DRFで利用する前提で動かしてみた記録を書きます。 前提 DRFで使う そもそもDRFとフィルター DRF側でdjango-filterを導入する前の状態 DRF側にFilterBackendを設定する おまけ DRFにとってFilterBack…

django-filterを軽く動かしてみる(Django編)

django-filterというものが視界に入ってきた。 使ったことがなかったので、とりあえず動かしてみることにしました。 これは動かしてみた記録。

Djangoで永続化キャッシュを使いたい

趣味で作ってるアプリで永続化キャッシュを使いたいと思った。 Djangoのキャッシュシステムを使うと簡単にできそうだったので、とりあえず手元で動くようにしてみた。 そのメモです。

djangoでpytestを使いながらWebTestする

djangoでpytestを使いつつ、WebTestしたい。 どうしたらいいかなーと思ってた。とりあえず手元でやってみたときのメモ。

Type Hintを触ってみよう

下書きにメモを供養します。 PythonでTypeHint導入の足がかりを探す話です。 こんにちは。 Pythonを仕事で書いてますが、少なくとも僕はTypeHint(typing)は使ってません。 そもそも、TypeHintという呼び方があってるのかもわかりまん。ていうか、ほとんど書…

DjangoCongress 2019に行ってきました。

DjangoCongress2019に参加してきました。 主催者、発表者、参加者の皆様、お疲れ様です。 サイボウズさん会場ありがとうございました。 今回も前回に続き、色々勉強になりました。後の自分のため、行ってない人のため、行ってきた人のためにDjangoConngress2…

忙しい人のためのちょっとだけdjango-rest-framework

くろのて勉強会に参加してdjango-rest-frameworkを学びました。(まだ第一回なので、views周りしか学んでません) とりあえず学んだこと、自分で調べていたことを備忘録として書いておきます。 走り書きで、あまり丁寧に説明はしてません。

djangoのformって結局なんなの?という疑問が解消されたのでformを解説します

あー、djangoのformってそういう役割なのかー、というのが自分の中で少し腹落ちしたのでブログに書いておきたいと思います。

gitで特定の行がそうなっている理由を調べる

gitで特定の行がそうなっている理由を調べることがあります。 そういう時に使う git blame を紹介します。

DjangoのWSGI周りのコード読んだ

DjangoのWSGIってどうなってるんだ、と思ったので、コード読んだ話です。説明ではありません。自分のための備忘録。

DjangoCongress 2018に行ってきました。

DjangoCongress 2018に行って来ました。僕がみていた発表を中心に簡単にレポートを書きます。

pytestでdjangoのcoverageを測る

pytestでcoverageを測りたい。そうすれば、色々スピードアップする予感がある。 とりあえず、やってみた話。

Ansibleのdjango_manageで出る「Permission Error」

Ansibleのdjango_manageを使った時に「許可されていないエラー」が出た。 [Errno 13] Permission denied ログはどこかにいってしまったけど、覚えている限りで記録しておこうと思う。

MezzanineのDB接続周りでハマった話

MezzanineというDjangoでできたWordPressライクなCMSで遊んでいます。 DB接続周りでハマった話。

telnetでhttp接続して遊んでただけの話

httpをプロトコルレベルで叩いてみたい。と思いました。(なぜ) それをやってみて、「なるほど、ふむふむ。」とやっただけ話です。

DjangoのViewのテストである文字列が含まれているかを確認する方法

DjangoのViewのテストでレスポンスにある文字列が含まれているかを確認する方法があるんだけど、どういうふうに書くんだっけ、、、と思うことが三回起きました。そういう時になんとググるかで少し詰まったので、記事に書きました。そう思った時に見返すため…

DjangoのGenericView

DjangoのGenericViewって何だろう?って思ってたので、それを調べました。 これはその調べた時のメモです。

DjangoのPaginator

DjangoのPaginatorを触ってみる。

DjangoのTemplateView

DjangoのTemplateViewを調べた時のメモです。

djangoのprefetch_related/select_related/Prefetch(SQL実行の最適化)

Djangoを使っていて、イケてないSQLがありました。 そもそも、僕はDjangoのprefetch_relatedとselect_relatedがよくわかっていませんでした。 今回は、それを調べたので説明を書きます。

django adminはactionが追加できる

django adminの動きを見てる中で、actionの動きを学んだのでメモ。 django adminでは複数のレコードを選んで、アクションを実行できる。 これ。 デフォルトでは、 Delete select my models みたいなやつが設定されている。 選択したレコードを削除するアクシ…

djangoのadminコマンドをコードから呼ぶ。

djangoのadminコマンドを作った後に、テストを書きたいと思った。 どうやって、adminコマンドを呼ぶのか。 call_commandというのがあるのは知っているけど、再度調べたのでメモしておく。

djangoは管理コマンドを追加できるという話

今の会社で働き始める前、djangoで管理コマンドを作れることをぼくは知らなかった。 今は、普通にdjangoで作られたアプリケーションを触るし、普通に管理コマンドが作れることは知ってるし、普通に作る。 だけど、入社する前にdjangoのチュートリアルをやっ…

django adminの一覧でカラムを増やしたい

django adminの一覧でカラムを増やしたい、と思う時はよくある なんか、毎回同じようなことを検索して、djangoのドキュメントを探して自分で実行して確かめてる。というわけで、メモする。 例えば、こういうモデルがある。 class MyModel(models.Model): tit…

djangoでadmin画面を触ってる時に出る `Unknown field(s) ...`のエラー

djangoを触っていて、エラーが出た。 Djangoのバージョンは、1.11 以下が、エラーメッセージ。 Unknown field(s) (myfiled) specified for MyModel. Check fields/fieldsets/exclude attributes of class MyModelAdmin. myfiledとかMyModelAdminとかは、良い…

aware/nativeなdatetimeと翻訳のニュアンスの話

djangoで時刻を扱おうとしました。すると、timezoneのあたりで困りました。 そして、timezoneについて調べてたら、 awareなdatetime と nativeなdatetime という話がでてきました。これが何を言っているかわかりませんでした。だから調べました。 というわけ…