小村の開発環境構築(20) DRF ディレクトリ構成変更、テスト機能設定

  • こんばんは!小村だよ!

  • 前回まででDjangoRestFrameworkのHerokuへのデプロイが無事完了しました!

  • 今回はDjangoRestFrameworkのテストが実行できるようにしていくよ!

  • よろしくね!



やること

  1. DRFフォルダ構成変更
  2. Pytestの導入



前提条件

  • Ubuntuにリモート接続していること(これまでの環境構築参照)



手順

DRFフォルダ構成変更

f:id:kom314_prog:20210807142743p:plain
  • 現状のフォルダ構成は上記の通り

  • 今後ファイルが増えることを見越して、フォルダ構成を変えていきます

  • 変更後のディレクトリ構成は下記のとおりです


f:id:kom314_prog:20210807145339p:plain
  • 下記4つのファイルをディレクトリに変更し、クラスをそれぞれファイルに分けています

    • models
    • serializer
    • tests
    • views
  • これで無事稼働することを確認!

  • これを稼働させるためのポイントは3つ

    • フォルダ構成が変わったので、from .models となっていたのを from ..modelsに変更

    • フォルダ直下に__init__.pyにを記述して、ファイルをインポートする

      • この際何もしないとlintエラーが出るため、# noqaを記述しエラーを発生させない
    • models内で他のmodelを使うときはダブルクォートで囲う(下図参照)

      • 通常ならfrom user import User を書いたうえでダブルクォートで囲まずUserを使う
      • しかし今回のように__init__.pyで記載があるときはimportが不要となる
f:id:kom314_prog:20210807150411p:plain



Pytestの導入

pip install pytest
pip install pytest-django
pip freeze > requirements.txt


  • pytest.iniを作成して、apiフォルダ配下に設置
f:id:kom314_prog:20210807155705p:plain


  • あとはテストファイルを作成して動作確認

  • pytestを実行して無事に動作することを確認!

  • 本格的な記述は後回しにさせてもらうぜ!

f:id:kom314_prog:20210807160013p:plain



おわりに

  • Djangoの必要最低限の環境構築はできたかなと思います!

  • あとはAPIを実装していくだけ!

  • 本格的なWebサイト作成を再開していこうと思います!

  • ではでは、ちゃお~~~!