cookiecutterで作成したDjangoプロジェクトをInteliJでデバッグできるようにする

## 記事にした背景
個人で開発を行うとしても、できる限り世の中で言われるベストプラクティスに従いたいですよね。

cookiecutterを使うとあっという間にモダンなPythonプロジェクトの雛形を用意することができます。

この雛形に従って開発を進めれば効率よく開発が進められますし、学習的な観点でも役に立つと思います。

Djangoプロジェクトの作成時に`use_pycharm`オプションがあるのですが、ここを`y`で答えると、Pycharmで開くだけであっさりとデバッグ実行設定までされた状態で開発をスタートできます。

...ですが、いまの自分の愛用IDEはInteliJ。
だいたいPycharmと同じことができるんですが、デバッグ設定についてはかなり勝手が違うんですよね。

いろいろググったのですが、海外サイト含めてうまく情報がまとまってなかったので備忘録として記事にしておきます。
もしこの手順どおりにやってデバッグが開始できなかった場合は、コメントにてお知らせいただけますと嬉しいです。

## 事前準備
cookiecutterでDjangoプロジェクトを立ち上げられるようにしておいてください。

この時点までの詳細な方法は多数ありますので、ネット上で別途ググってください。

公式のドキュメントがとても丁寧でわかりやすかったので、まずは一読してみると良いかと思います。
[Welcome to Cookiecutter Django’s documentation!](https://cookiecutter-django.readthedocs.io/en/latest/index.html#)


## プロジェクトの設定オプション

今回はこのような設定にしました。

<img width="829" alt="cookiecutterでdjangoプロジェクト作成.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/a09826c3-d9c5-ee69-5123-f2d9671906bc.png">

## inteliJで開きます
<img width="818" alt="intelijでプロジェクトを開く.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/dc30e658-2b9c-a165-46ab-ae8172e8c6ac.png">

<img width="808" alt="既存のデバッグ設定が使えない.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/bf51c31d-11c2-0c4f-e1f0-050772d22708.png">

...うーん、cookiecutterが用意してくれたデバッグ設定は読み込まれていますが、すべてのアイコンにバツがついて動作しない状態ですね。

まずはこれを解決していきましょう。

# プロジェクトストラクチャのModulesを開きます
`Dependencies`タブを開くと`No Project SDK`になっていますね。
Pycharmで言うとプロジェクトにPythonインタプリタが当たっていない状態で、このためにデバッグ設定が利用できませんでした。

<img width="1140" alt="module_dependencies_new.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/8f18cb2b-9489-a37e-fb5b-980b605e6fec.png">

<img width="1251" alt="import_moduleを開く.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/4bd7d940-334e-a471-afa8-a172ec7a2e43.png">

<img width="1231" alt="Djangoが見つかる.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/bf809226-788f-a568-b45b-17fc6e521f49.png">

デバック時に使用されるPython SDKを設定してあげます。
若干時間がかかります。
<img width="1107" alt="新規pyrhon_sdkの設定.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/072c30bb-3452-ab8c-7297-4d8640e884e8.png">

<img width="1123" alt="Apply_OK.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/199e2f9f-05d3-dac1-74f5-66a257dcfcf9.png">


デバッグ設定のアイコンからバツは消えましたが、まだソースコード内にエラーが残っています。
赤線が入っている箇所です。
このままでは関数やクラスの宣言元にジャンプできません。
<img width="811" alt="デバッグ設定からエラーが消えるが、ソースコードはまだエラーがでている.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/609ea1ea-a1b6-a773-fd11-722f430b28bd.png">


キャッシュをクリアしてプロジェクトをリロードします。
<img width="253" alt="invalidate_cache_and_reload.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/91e62a24-43ff-6a56-f6a4-1ea8f63ef0cc.png">

インデックスが作成され始めます。
<img width="743" alt="indexingが始まる.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/97413d3c-1555-642f-ba5c-5caf4cb8d07c.png">

これでデバック設定が有効になりました。
<img width="835" alt="all_ok2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/ba8ef814-8137-b6d1-7340-5e18dd0e9ec0.png">

## 後日追記

上を実行した場合に「not found such a file or directory」のようなエラーが出るようであれば、以下の項目の設定も確認してみてください。

<img width="1207" alt="この3つも埋めてください.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209020/d41bb6c6-fe24-6759-8599-b7d5a961e1b4.png">