DjangoをRenderにdeployしてみる - 準備編(1/2)
This content is not available in your language yet.
https://docs.render.com/deploy-django#creating-a-new-django-project
上のRenderの記事に沿って進めてみます。
最初に作業用のリポジトリを用意します。
https://github.com/kazweda/myrender
git clone https://github.com/kazweda/myrender作業手順を随時issue化して commit, push しておけば、中断しても後で再開しやすくなります。
python環境を作成
python3 -m venv venvsource venv/bin/activateDjangoをインストールしてプロジェクトを作成
pip install Django==5.0.7pip freeze > requirements.txtdjango-admin startproject myrender .起動してみます。
python manage.py runserver
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.migrationを実行
python manage.py makemigrationspython manage.py migrateあらためて起動してみます。
python manage.py runserverブラウザで確認
ランディングページを作成
python manage.py startapp homepageこのあたりでGitHubにコミットしておきます。
git add .git commit -m "first commit."git pushsettings.pyにHomepageConfigを追加
INSTALLED_APPS = [ 'homepage.apps.HomepageConfig', 'django.contrib.admin', ...]テンプレートを作成
homepage/templates/homepage/index.html
(元の記事を参照してください)
(省略)homepage/view.pyを編集
def index(request): return render(request, 'homepage/index.html', {})homepage/urls.pyを作成
from django.urls import path
from . import views
urlpatterns = [ path('', views.index, name='index'),]プロジェクトのurlsに反映する。
myrender/urls.py
from django.contrib import adminfrom django.urls import path, include
urlpatterns = [ path('admin/', admin.site.urls), path('', include('homepage.urls')),]Renderのバナーをダウンロードして保存。
homepage/static/homepage/render-banner.webp
index.htmlにバナーを組み込む。
{% load static %}
...<body><header class="container mt-4 mb-4"> <a href="https://render.com"> <img src="{% static "homepage/render-banner.webp" %}" alt="Homepage banner" class="mw-100"> </a></header>動作確認してみます。
環境変数の設定
.env
DEBUG=TrueSECRET_KEY=your_secret_key_hereALLOWED_HOSTS=['localhost', '127.0.0.1']settings.py
DEBUG = os.environ.get('DEBUG') == 'True'SECRET_KEY = os.environ.get('SECRET_KEY')ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS')今回はここまでにします。(続きはこちら)

