Vue.jsでCRUD #1【Djangoアウトプット】

この記事は 241 で読めます。

今どきはNuxt.jsなどでフロントエンドを作って、DjangoでAPIを実装するという方法が主流かと思いますが、Djangoのテンプレートにvue.jsを組み込んでみたいと思います。

このログは、こちらのレポジトリでDjango+Dockerセットアップ後の環境を想定しています。

モジュールインストール

DjangoでAPIを実現するためのモジュールをインストールします。

一旦、djangoコンテナから抜けて(cmd+d)、djangorestframeworkの静的ファイルをstaticフォルダににコピーします。
※途中、コピー上書きするか聞かれるので「yes」とタイピング。

アプリケーション作成

articleという名前のアプリケーションを作成します。

settings.pyにarticleを登録します。

モデル作成とマイグレーション

models.pyは以下のように変更します。

DBに反映します。

restframeworkの登録

settings.pyにrestframeworkを登録します。

APIのURL設定

APIへの経路をまとめたファイルをプロジェクトのurls.pyに登録します。

アプリケーション側の準備

プロジェクトのURL設定が完了したら、次はアプリケーション側でURLを設定しましょう。

プロジェクトのurls.pyにまとめて記述することも可能ですが、こうやってファイルを分けると管理しやくなるそうです。

serializers.pyはArticleモデルをJSON形式で書き出す際にどのフィールドを出力するか決定するファイルのようです。

APIが動いているか確認

http://localhost:8000/api/1.0/articles/にアクセスして以下のような画面になっていれば成功です。まだデータがないので、「results」が空ですね。

次回は、ビュー側の設定(テンプレート作成、vue.js組み込み)をしたいと思います。お楽しみに。
以上です。

コメントを残す