Django+DRFで新卒初月から業務開発!?1年前に知っておきたかった、便利ツール編

まえがき

こんにちは。22年度新卒でバックエンドエンジニアとして入社しました@mobojisan と申します。 モブおじさんを名乗っていますがモブおじさんは地雷なので出てくると泣きます。同族嫌悪というやつでしょうか。

新卒特権を活かし、エンジニアとしてイキリエントリを書くぜ〜〜〜!と思い立った僕。

思い立ったまでは勢いがよかったのですが、思いのほかイキリぢからが足らず俺には無理だ…とイキリぢからの不足に気がついてしまいました。

そこで趣向を変えて、Djangoがからっきしだった1年前の自分に向けて、個人的な備忘録をかねたDjangoDjango REST Framework(以下DRF)で開発するときのミソをいくつか書きつらねておこうと思います。

ちなみにメンティー(メンターを導く人。メンディーじゃないよ)をこころよく引き受けてくださった、メンティー小久保さんから見た記事は以下から見ることができます。この記事と併せてご覧ください!

xmart-techblog.hatenablog.com

DRFでつけた機能を可視化する補助ツール、AutoSchema

DRFの開発でまず出てくるのが、裏で何をしているの?という疑問。機能によってはコードを数行記述するだけでなぜか完成してしまいます。

ただこの「なぜか」というところが曲者で、何を書けば何ができるのか非常に掴みにくいです。ゆえにDRFの機能を学習しながら既存のコードに機能をつけるとなると一気にハードルがあがります。

そこで、DRFAPIドキュメーテンション機能を起動させるとなんと!実装されているAPI一覧を見ることができます!!!!!!!!!!!!!!!!

既存のAPIに新規クエリパラメータやフィルタをつけるといったチケットはよくあるものですが、APIの状態を可視化してくれるので何が起きているか一目瞭然になります。

つけたAPIの一覧が見られます

curlやPostmanを使うのも良いですが、DRFAPIを書いていくなら一見の価値ありです。

画面中の緑色、Interactボタンからリクエストを送信し、レスポンスを見ることが可能なため、1画面で実装状況の確認から動作チェックまで済ませることができます。

以下リンクにて導入方法を日本語でわかりやすく解説してくれています。

https://qiita.com/sugulu_Ogawa_ISID/items/71dd3ad714294228bb52

[VSCode限定] pytestからDRFの関数をテスト実行する

VSCode上だと、pytestの実行に関してはこの設定がないとブレークポイントを置いても止まりません。

僕はDjangoDRFにおいてテストだけがなぜかブレークポイントが効かないという事象にぶちあたり、原因がわからず数ヶ月苦しみました…

解決法は簡単です。

Ctrl + + Pで開くウィンドウから「基本設定: ユーザー設定を開く」よりVSCodeの設定項目を規定するsettings.jsonを開き、

settings.jsonに以下の一行を追加するだけで設定は完了です。

"python.testing.pytestEnabled": true

以下のような画面が開きます。(モザイク過多ですが)

雰囲気が伝わればいいや…

再生ボタンで通常実行、虫付き再生ボタンでデバッグ実行でき、後者を選択するとブレークポイントが無事作動します。

緑チェックがついていることからお察しかもしれませんが、テストの実行結果が保存されているため実行履歴を時系列で覗くことができます。べんり。

あとがき

いかがだったでしょうか????????????????

話は変わりますが、弊社クロスマートでは新卒中途問わずエンジニア・デザイナーを募集しております。

少しでもご興味持っていただけましたら、カジュアルに記事にスターを入れ、そしてカジュアルに面談を申し込んでいただけますと書いているこちらにもとても励みになります!対戦よろしくお願いします!

https://xorder.notion.site/208ad54cb8ea4c55880ca0c4c1f18b22xorder.notion.site