2021/08/05

PyCharm Community EditionでDjangoプロジェクトを作成・実行

Pythonを学びはじめ、フレームワークを使ってもう少し 高度かつ効率的に開発できればと思い、IDEやフレームワークを調べていました。出会ったのがPyCharmとDjangoです。本記事では、無償のPyCharm Community Editionで、Djangoウェブアプリケーションを開発するための初期設定方法および動作確認方法を説明します。



背景

PyCharmはPython向けの統合開発環境(IDE)です。JetBrains社が開発しており、直観的なユーザインタフェースを提供しています。PyCharmには無償のCommunity Editionと有償のProfessional Edditionがあります。

エディション比較を見ると、Professional Edditionは様々な機能を利用できたり、サードパーティ製品と連携できたりします。よく見ると、Djangoとの連携Community EditionはDjangoに対応していないようです。


では、Djangoアプリケーションを開発したり実行したりするには、Professional Edditionを購入する必要があるのでしょうか?

私も最初は「ダメか・・・」と思いましたが、実はそんなことはありません。無償のCommunity EditionでDjangoアプリケーションを開発・実行できるのです。

Professional EdditionでDjangoをサポートしていると言っているのは、Django開発者としてもっと簡単・効率化するための多数の機能をサポート・提供していることなのです。


事前作業

PyCharm Community EditionをPCにインストールしてください。


仮想環境(Virtual Environment)の作成

1台のPCで今後異なるバージョンのパッケージを利用する場合を想定して、一般的には仮想環境のしくみを活用します。プロジェクトの仮想環境内にDjangoパッケージをインストールしましょう。

PyCharmではプロジェクトを作成すると、自動で仮想環境を作成してくれます。プロジェクトのコンソールからDjangoパッケージをインストールします。


  1. PyCharmを起動します。
  2. 「New Project」をクリックして、新しいプロジェクトを作成します。


  3. プロジェクト名を決め、プロジェクトの場所(デフォルトのプロジェクトロケーション\プロジェクト名)を指定します。仮想環境はデフォルトではプロジェクトフォルダ直下にvenvという名前で作成されます。ベースインタプリタとしてOSにインストールしたPython.exeを指定します。最後に「Create a main.py welcome script」のチェックをはずして、Createボタンをクリックします。


  4. プロジェクトが作成されると、プロジェクトが開きます。
  5. 下部にあるTerminalタブをクリックします。Terminalに仮想環境の名前が括弧付きで表示されていれば仮想環境の作成は成功です。



Djangoパッケージのインストール

Djangoアプリケーションを作成するために、先ほど作成した仮想環境にDjangoパッケージをインストールします。パッケージのインストールはおなじみのpipコマンドを使います。


  1. PyCharm下部のTerminalタブをクリックします。
  2. pip install Djangoコマンドを実行し、Djangoをインストールします。
    (venv) C:\Dev\PyCharm\DjangoTest>pip install Django
    Collecting Django
      Using cached Django-3.2.6-py3-none-any.whl (7.9 MB)
    Collecting pytz
      Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
    Collecting sqlparse>=0.2.2
      Using cached sqlparse-0.4.1-py3-none-any.whl (42 kB)
    Collecting asgiref<4,>=3.3.2
      Using cached asgiref-3.4.1-py3-none-any.whl (25 kB)
    Installing collected packages: sqlparse, pytz, asgiref, Django
    Successfully installed Django-3.2.6 asgiref-3.4.1 pytz-2021.1 sqlparse-0.4.1

  3. pip listコマンドを実行し、Djangoがインストールされたことを確認します。
    (venv) C:\Dev\PyCharm\DjangoTest>pip list
    Package    Version
    ---------- -------
    asgiref    3.4.1
    Django     3.2.6
    pip        21.2.2
    pytz       2021.1
    setuptools 57.4.0
    sqlparse   0.4.1


Djangoプロジェクトの作成

Djangoを使ってWebアプリケーションを作成するには、先にプロジェクトを作成する必要があります。プロジェクトは「サイト」のようなものでDjangoではプロジェクトの中に、複数のアプリケーションが含まれる構造になります。

django-admin startprojectコマンドでプロジェクトの作成を行うため、今回もターミナルを利用します。


  1. PyCharm下部のTerminalタブをクリックします。
  2. サブディレクトリmysiteとしてDjangoプロジェクトを追加します。
    (venv) C:\Dev\PyCharm\DjangoTest>django-admin startproject mysite
    
    (venv) C:\Dev\PyCharm\DjangoTest>cd mysite
    
    (venv) C:\Dev\PyCharm\DjangoTest\mysite>tree /a /f
    C:.
    |   manage.py
    |
    \---mysite
            asgi.py
            settings.py
            urls.py
            wsgi.py
            __init__.py

  3. (必要に応じて)プロジェクト直下でWindowsエクスプローラを開き、mysiteフォルダ(Djangoのルートフォルダ)内のファイルを切り取りし、プロジェクト直下(1階層上)で貼り付けます。

    以下はファイル移動後のプロジェクトエクスプローラの変化です。


  4. Djangoのデータレイアウトを作成するために、データベース移行と呼ばれる処理を実行します。
    (venv) C:\Dev\PyCharm\DjangoTest>python manage.py migrate
    Operations to perform:
      Apply all migrations: admin, auth, contenttypes, sessions
    Running migrations:
      Applying contenttypes.0001_initial... OK
      Applying auth.0001_initial... OK
      Applying admin.0001_initial... OK
      Applying admin.0002_logentry_remove_auto_add... OK
      Applying admin.0003_logentry_add_action_flag_choices... OK
      Applying contenttypes.0002_remove_content_type_name... OK
      Applying auth.0002_alter_permission_name_max_length... OK
      Applying auth.0003_alter_user_email_max_length... OK
      Applying auth.0004_alter_user_username_opts... OK
      Applying auth.0005_alter_user_last_login_null... OK
      Applying auth.0006_require_contenttypes_0002... OK
      Applying auth.0007_alter_validators_add_error_messages... OK
      Applying auth.0008_alter_user_username_max_length... OK
      Applying auth.0009_alter_user_last_name_max_length... OK
      Applying auth.0010_alter_group_name_max_length... OK
      Applying auth.0011_update_proxy_permissions... OK
      Applying auth.0012_alter_user_first_name_max_length... OK
      Applying sessions.0001_initial... OK
    

  5. db.sqlite3というSQLiteのデータベースファイルが作成されたことを確認します。


Djangoアプリケーションの実行・動作確認

Djangoは開発・テスト向けのWebサーバを内蔵しています。このWebサーバ上で先ほど作成したDjangoアプリケーションを起動してみましょう。


  1. PyCharm下部のTerminalタブをクリックします。
  2. 開発用Webサーバを起動します。
    (venv) C:\Dev\PyCharm\DjangoTest>python manage.py runserver
    Watching for file changes with StatReloader
    Performing system checks...
    
    System check identified no issues (0 silenced).
    August 05, 2021 - 00:57:50
    Django version 3.2.6, using settings 'mysite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.

  3. ブラウザを起動し、アドレスバーに http://127.0.0.1:8000/ を入力後、Webページを開きます。以下のようなWebページが表示されれば成功です。


  4. PyCharmのターミナルウィンドウで、Ctrl + Cキーを押下し、Webサーバを停止します。


おわりに

本記事では、PyCharm Community Edition上で、Djangoアプリケーションを作成・動作確認する方法を説明しました。仮想環境にPyPIからDjangoパッケージをインストールし、Djangoコマンドを使ってプロジェクトの作成、および開発用Webサーバで動作確認を行いました。

Community EditionではDjangoが使えない、と誤解しがちですが、実際には問題なく開発およびテストが可能ということです。

次回は、デバッグ方法について説明したいと思います。