LoginSignup
5
7

More than 5 years have passed since last update.

dockerで動いているdjangoをIntelliJでデバッグする

Last updated at Posted at 2018-04-13

dockerもdjangoも素人ですごく苦労したのでメモ。

変なこと書いていたら教えてください。

IntelliJのバージョン

IntelliJ IDEA 2018.1 (Ultimate Edition)

多分PyCharmとかでもやり方は同じだと思う。

状況

django(djangorestframework)とmysqlをそれぞれ別々のcontainerで起動。
djangoをIntelliJでデバッグしながら開発したい。

djangoは./manage.py runserver 0.0.0.0:8000で動かしている。

やりかた

Project Structure の設定

⌘+;Project StructureModulesで下記のように設定する。
image.png

Djangoが表示されていない場合は一度-で消して再度+すれば出てくると思います。

Django project root
manage.py がある場所を指定

Settings
settings.pyを指定

Manage script:
manage.pyを指定

Edit Configurationsの設定

django用の起動設定を作成します。

Run > Edit Configurations とか、右上からEdit Configurationsを開く
image.png

Django serverを選択。
image.png

Django serverがないときはmoreをクリックするとあるはず。
image.png

こんな感じに設定
image.png

Host:
0.0.0.0
=> 重要ポイントその1

Port:
django動かしてるポート (8000)

Environment variables:
勝手に入っている
DJANGO_SETTINGS_MODULE=api.settings おそらくこれが重要

Python Interpreter:
Project SDK として指定しているdockerのpythonを指定

Docker container settings:
各々の環境に合わせて設定。
ここでハマった。
横の...をクリックでGUIで指定できます。
image.png
Network mode:
=> 重要ポイントその2
mysqlが動いているネットワーク名を指定
$ docker network lsで確認できます。

そのほかの項目はdocker-compose.ymlと合わせる。

実行

1.何らかの方法でmysqlのdockerを起動

私の場合は
$ docker-compose up db

2.上記で作成した起動ファイルを実行

設定ファイル名を選択して虫マークをクリック。

image.png

3.やったぜ

image.png

5
7
1

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
5
7