LoginSignup
9
13

More than 5 years have passed since last update.

AjaxアプリケーションでもDjango Debug Toolbarを使いたい

Posted at

最近のサービス構成

最近作ってるサービスでは

  • APIサーバー[Django]
  • Web, iOS, Android

のように構成することが多く、Djangoはjsonを返すAPIサーバーとして使うことが増えました。

Django Debug Toolbarが不便である

すると、Djangoで便利だった、Django Debug Toolbarが、便利には動かないのですね。(Django Debug Toolbarは各APIでのパフォーマンスを知ることができる便利なデバッグツールです。SQLの履歴が出るので、主にこれを見ています)

もちろん、各APIのURL叩けば動いてくれますが、JSONが表示させるだけなので、

  • 何のViewかわかりづらい
  • POSTがめんどくさい
  • ユーザー認証が面倒くさい

などという問題があります。

REST FrameworkでAPIのフォーム画面を自動生成してもらう

REST Frameworkを使えば、ある程度の見た目やAPIを呼ぶための便利なフォームを提供してくているので見えなくはないのです。

しかし、画面遷移がないため、APIのエンドポイントを覚えておかないといけず、めんどくさいです。

APIの一覧&ドキュメントのため、Swaggerを使う

そこで、django-rest-swaggerを使っています。APIが全部みれるので便利です。基本的にはSwaggerのUIで見ることが多いです。

コードの中にコメントを書いておけば、APIの説明を書けるので、ドキュメントの代わりとして使っています。モックとしても便利ですね。

また、フォームにはデフォルト値も設定しておけるので、REST Frameworkでフォームにいちいち値をいれる、めんどくささから開放されます。

しかしこの画面は、AjaxでAPIを呼んでるのでDjango Debug Toolbarは動きません。残念!

Ajaxでも動いてくれるDjango Debug Toolbarを探す

また、最近のWebは、AjaxでAPIを複数回呼ぶので、1APIというより1画面で、Djangoのパフォーマンスを知りたいです。

そして、探していたら、見つけました!

Chromeのエクステンションでツールが提供されており、Ajaxで呼んだAPIの履歴も各ページごとにキャッシュしてくれます。(使用イメージはChromeストア見てください)

便利だ!これでAPIサーバーとWebが別れていても、Django Debug Toolbarの恩恵が受けられます!
最高!

9
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
13