skip to content
barorin&?

いつも分からなくなるDjangoの最初の方の手順メモ

/ 2 min read

Table of Contents

はじめに

crmproject というプロジェクトに crmapp というアプリを追加したとき、 Django でやった最初のコマンド・設定まとめです。

方法

ライブラリインストール

Terminal window
django
ulid-py # uuidを作成
django-currentuser # ログイン中のユーザーを取得

プロジェクトとアプリ作成

Terminal window
$ django-admin startproject crmproject
$ cd crmproject
$ python manage.py startapp crmapp

設定変更

crmproject/settings.py
INSTALLED_APPS = [
...
"crmapp.apps.CrmappConfig", # 追加
]
MIDDLEWARE = [
...
"django_currentuser.middleware.ThreadLocalUserMiddleware", # 追加(django-currentuserの設定)
]
LANGUAGE_CODE = "ja" # 変更
TIME_ZONE = "Asia/Tokyo" # 変更

ルーティング設定

crmproject/urls.py
from django.contrib import admin
from django.urls import path, include # include追加
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("crmapp.urls")), # 追加
]
crmapp/urls.py
"""ファイルごと新規作成"""
from django.urls import path
from . import views
app_name = "crmapp"
urlpatterns = [
path("", views.IndexView.as_view(), name="index"),
]

ビューの作成

crmapp/views.py
# from django.shortcuts import render # 削除
# 以下追加
from django.views.generic.base import TemplateView
class IndexView(TemplateView):
"""トップページのビュー
Attributes:
template_name: レンダリングするテンプレート
"""
template_name = "index.html"

モデル作成

cromapp/models.pyにテーブル構成を書く

crmapp/models.py
from django.db import models
class ContactInfo(models.Model):
pass

マイグレーション

Terminal window
$ python manage.py makemigrations crmapp
$ python manage.py migrate

作成したモデルを管理サイトに登録

crmapp/admin.py
from django.contrib import admin
from .models import ContactInfo
# 管理サイトにDBを登録
admin.site.register(ContactInfo)

スーパーユーザーの登録

Terminal window
$ python manage.py createsuperuser

テンプレートの作成

crmapp/templates/index.html

BootStrap の適用

  • 画像、CSS、JS はcrmapp/staticフォルダへ
  • static ファイルのロード例
{% load static %}
<a href="{% url 'crmapp:index' %}">Index</a>
<link href={% static "css/all.min.css" %}
<img src="{% static 'img/undraw_rocket.svg' %}" />
<script src={% static "vendor/jquery/jquery.min.js" %}></script>