PyCharm で Django プロジェクトを作成

PyCharm は強力な Python IDE であり、Django フレームワークに対する優れたサポートを提供します。特にプロフェッショナル版(PyCharm Pro)でその威力を発揮します。

PyCharm を起動して新しいプロジェクトを作成

  1. PyCharm を開き、「新しいプロジェクト」をクリックします
  2. 左側で「Django」を選択します
  3. プロジェクトの場所(Location)を設定します
  4. Python インタープリターを設定します(仮想環境の新規作成を推奨)

プロジェクトパラメータを設定

  • プロジェクト名:小文字とアンダースコアの組み合わせを使用します(例:DjangoProject)
  • テンプレート言語:デフォルトでは Django を選択
  • フロントエンドフレームワーク:必要に応じて選択できます(初心者は選択しなくても可)
  • Django admin を有効にする:チェックを入れることができます

プロジェクトの初期化を待つ

PyCharm は自動的に:

  1. 仮想環境を作成
  2. Django の最新安定版をインストール
  3. 基本的なプロジェクト構造を生成

プロジェクト構造の解説

作成が完了すると、以下の主要なファイルとディレクトリが表示されます:

プロジェクトルートディレクトリ

  • manage.py:Django コマンドラインツール
  • プロジェクトと同じ名前のディレクトリ(例:DjangoProject/):プロジェクトの主要な設定が含まれます

プロジェクト設定ディレクトリ

  • init.py:これが Python パッケージであることを示します
  • settings.py:プロジェクト設定ファイル
  • urls.py:URL ルーティング設定
  • wsgi.py:WSGI サーバー設定

その他の重要なファイル

  • requirements.txt:プロジェクトの依存ファイル(PyCharm が自動生成する場合があります)
  • venv/:仮想環境ディレクトリ(仮想環境の作成を選択した場合)

Django 開発サーバーを実行

PyCharm から実行

  1. PyCharm 右上隅の実行構成ドロップダウンメニューをクリックします
  2. 「構成 -> 編集」を選択します

  3. Django サーバーが構成されていることを確認します
  4. 緑色の実行ボタンをクリックします

コマンドラインから実行

  1. PyCharm のターミナルを開きます
  2. コマンドを入力します:python3 manage.py runserver

    起動に成功すると、ターミナルに以下のように表示されます

    :

  3. http://127.0.0.1:8000 にアクセスしますデフォルトページを確認します:

よくある問題の解決

  • ポートの衝突:次を使用python manage.py runserver 8080別のポートを指定
  • データベースが未移行:初回実行時には次を実行する必要がありますpython manage.py migrate

Django アプリを作成

新しいアプリを作成

PyCharm のターミナルで次を入力します:

python3 manage.py startapp myapp

アプリを次に追加しますsettings.pyのINSTALLED_APPSに:

INSTALLED_APPS = [
    ...
    'myapp',
]

プロジェクトのurls.pyにアプリのルーティングを含めます:

例

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include('myapp.urls')),
]

アプリのディレクトリ構造

  • migrations/:データベースマイグレーションファイル
  • admin.py:管理バックエンドの設定
  • apps.py:アプリ設定
  • models.py:データモデル定義
  • tests.py:テストコード
  • views.py:ビュー関数

myapp ディレクトリで URL ルーティングを設定

myapp/models.py を開き、モデルを定義します。例:

例

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

保存後、python manage.py makemigrations と python manage.py migrate を実行してデータベースを更新します。

ビューと URL を作成:

myapp/views.py でビューを定義します:

例

from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'myapp/post_list.html', {'posts': posts})

myapp/urls.py(手動で作成する必要があります)で URL を設定します:

例

from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]

プロジェクトルートディレクトリに DjangoProject/templates/myapp/ フォルダーを作成し、そのフォルダー内に post_list.html を作成します:

例

<!DOCTYPE html>
<html>
<head>
    <title>Post List</title>
</head>
<body>
    <h1>Posts</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} - {{ post.created_at }}</li>
        {% empty %}
            <li>No posts available.</li>
        {% endfor %}
    </ul>
</body>
</html>

settings.py の TEMPLATES 設定が正しいテンプレートディレクトリを含むようにします:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],
        ...
    }
]
その他の拡張