Skip to main content

はじめに

Square Cloud で Django アプリケーション を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。

前提条件

  • Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
  • 有効なプラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。
このガイドは Python ランタイムで動作します。2026 年 9 月に Python 3.13 上の Django 6 でテストしました。

プロジェクトの作成

手元のマシンに Python と pip が必要です。まだの場合は、Python 公式サイトから Python をダウンロードしてください。

ライブラリのインストール

Django、本番サーバーの Gunicorn、静的ファイルを配信する WhiteNoise をインストールします。

プロジェクトの開発

新しい Django プロジェクトを作成し、そのフォルダに移動します。
これにより、manage.py と、settings.py、urls.py、wsgi.py を含む mysite/ パッケージが作成されます。基本的なルートを追加するには、mysite/urls.py を編集します。
mysite/urls.py

本番環境向けの設定

シークレットをコードにハードコーディングしないでください。mysite/settings.py で、シークレットキーと本番用のフラグを環境変数から読み込み、サイトの HTTPS オリジンを信頼済みにして、WhiteNoise を有効にします。生成されたその他の設定はそのままにしておきます。
mysite/settings.py
mysite.squareweb.app は、ご自身のサブドメインまたはカスタムドメインに置き換えてください。次に、ダッシュボードまたは squarecloud app env set を使って、アプリケーションに次の環境変数を設定します。
プロジェクトをローカルで実行するには、ターミナルで DJANGO_SECRET_KEY (任意の値) と DJANGO_DEBUG=True を設定してから、python manage.py runserver を実行します。
次に、manage.py と同じ場所に requirements.txt ファイルを作成して依存関係を記載します。Square Cloud はアプリの起動前に pip でこれらをインストールします。少なくとも次の内容を記載する必要があります。
requirements.txt

本番用サーバーを選ぶ

Django に組み込まれている開発サーバー (runserver) は本番環境での使用には適していません。下記の START コマンドで起動する、本番環境向けの WSGI サーバーである Gunicorn を使用してください。ワーカーの設定やその他のオプションについては、Gunicorn のガイドを参照してください。

Gunicorn

Gunicorn は UNIX 向けの Python WSGI HTTP サーバーです。プリフォーク型のワーカーモデルを採用しており、複数のワーカープロセスをフォークしてリクエストを処理します。 これにより、本番環境で Python の Web アプリケーションを実行するのに最適な選択肢となります。

ポートとホスト

下記の START コマンドは Gunicorn を 0.0.0.0:80 にバインドします。すべてのネットワークインターフェースで、Square Cloud がアプリに転送するポートをリッスンします。Django 自体には変更すべきポートの設定はありません。

Square Cloud の設定

manage.py と同じ場所に squarecloud.app ファイルを作成します。
squarecloud.app
このコマンドは起動のたびに次の処理を行います。
  • collectstatic は静的ファイルを STATIC_ROOT にコピーし、WhiteNoise がそこから配信します。
  • migrate は保留中のデータベースマイグレーションを適用します。データベースがすでに最新の場合は何もしません。
  • python -m gunicorn mysite.wsgi --bind 0.0.0.0:80 は、mysite プロジェクトの WSGI アプリケーションをポート 80 のすべてのネットワークインターフェースで配信します。
MAIN=manage.py は Python ランタイムを選択します。ダッシュボードからアップロードする場合も、同じメインファイルと起動コマンドを設定してください。

ZIP に含めるもの

  • manage.py と、アプリやテンプレートを含む mysite/ パッケージ。
  • requirements.txt。
  • squarecloud.app。
manage.py、requirements.txt、squarecloud.app は ZIP のルートに置く必要があります。.venv、__pycache__、staticfiles/ (起動のたびに collectstatic で作り直されます)、ローカルの db.sqlite3 は含めないでください。

デプロイと動作確認

ダッシュボード経由

1

アップロードページにアクセス

アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2

環境を設定

zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3

プロジェクトをデプロイ

最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
Square Cloud へのアプリケーションのアップロード
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ダッシュボードでアプリケーションのステータスが running になるのを待ち、起動時のエラーがないかログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

CLI 経由

この方法を使用するには、プロジェクトのルートに squarecloud.app という名前の設定ファイルが必要です。このファイルは、アプリケーションの実行方法を Square Cloud に伝えます。

設定ファイルガイド

アプリケーションの環境を定義する squarecloud.app 設定ファイルの作成方法を学びます。
1

CLI をインストール

Square Cloud CLI をインストールします。すでにお持ちの場合は、同じコマンドを実行すると更新されます:
2

ログイン

次のコマンドを実行します。ブラウザが開くので、そこでログインを承認すれば CLI の準備は完了です。API キーをコピーする必要はありません。スクリプトや CI については、CLI の認証を参照してください。
3

プロジェクトをアップロード

プロジェクトのフォルダで次のコマンドを実行します。CLI は squarecloud.ignore に記載されたものを除いて現在のフォルダを zip にし、アップロードします:
自分で作成した zip をアップロードするには、--file で指定します:
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ターミナルから直接、アプリケーションのステータスとログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

よくあるエラー

カスタムドメイン

デフォルトの URL mysite.squareweb.app の代わりにカスタムドメイン(例: mysite.com)を使用するには、Standard プラン以上が必要です。デフォルトの URL は設定ファイルの SUBDOMAIN フィールドから決まります。独自ドメインを接続するには、独自ドメインの設定方法に従ってください。

最小 RAM 要件

ウェブサイトと API は最小 512MB RAMです。これは静的ランタイムで静的ビルドを配信するには十分な量です。サーバー上でページをレンダリングするアプリ(Next.js、Nuxt、Angular SSR など)には、最低 1GB RAMを推奨します。より大規模なアプリケーションでは、メモリ不足でアプリケーションがクラッシュするのを防ぐため、より多くの RAM を割り当ててください。

このサイトが見つかりませんでした。

サブドメイン/ドメインが SUBDOMAIN フィールドまたはカスタムドメイン設定で構成されている内容と一致しているか確認してください。サイトをアップロードしたばかりの場合は、Square が初回アクセスを有効化するまで最大 60 秒お待ちください。

サイトの応答に時間がかかりすぎました…

サーバーはポート 80 とホスト 0.0.0.0 でリッスンする必要があります。Square Cloud はアプリケーションに環境変数 PORT(80)と HOST(0.0.0.0)を設定します。別の値をハードコーディングせず、コードでこれらを読み込んでください。localhost や 127.0.0.1 だけでリッスンしているサーバーには、リクエストが届きません。

KeyError: ‘DJANGO_SECRET_KEY’

環境変数がありません。本番環境向けの設定のとおりに DJANGO_SECRET_KEY を設定し、アプリケーションを再起動してください。

Bad Request (400)

開いたアドレスが DJANGO_ALLOWED_HOSTS に含まれていません。サブドメインまたはカスタムドメインを追加し、アプリケーションを再起動してください。

次のステップ

環境変数

シークレットや設定をコードから切り離し、実行時に読み込みます。

カスタムドメイン

Standard プラン以上で、独自ドメインからアプリを配信します。

トラブルシューティング

起動しないアプリや応答しないサイトを修正します。
Django の詳細は公式の Django ドキュメントとデプロイのチェックリストを参照してください。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。サポートの質の高さも、開発者が Google と Trustpilot で Square Cloud に402 件のレビューで 4.9/5という評価をつけている理由の 1 つです。