いつも分からなくなるDjangoの最初の方の手順メモ
/ 2 min read
Table of Contents
はじめに
crmproject というプロジェクトに crmapp というアプリを追加したとき、 Django でやった最初のコマンド・設定まとめです。
方法
ライブラリインストール
djangoulid-py # uuidを作成django-currentuser # ログイン中のユーザーを取得
プロジェクトとアプリ作成
$ django-admin startproject crmproject$ cd crmproject$ python manage.py startapp crmapp
設定変更
INSTALLED_APPS = [ ... "crmapp.apps.CrmappConfig", # 追加]
MIDDLEWARE = [ ... "django_currentuser.middleware.ThreadLocalUserMiddleware", # 追加(django-currentuserの設定)]
LANGUAGE_CODE = "ja" # 変更
TIME_ZONE = "Asia/Tokyo" # 変更
ルーティング設定
from django.contrib import adminfrom django.urls import path, include # include追加
urlpatterns = [ path("admin/", admin.site.urls), path("", include("crmapp.urls")), # 追加]
"""ファイルごと新規作成"""from django.urls import pathfrom . import views
app_name = "crmapp"
urlpatterns = [ path("", views.IndexView.as_view(), name="index"),]
ビューの作成
# 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
にテーブル構成を書く
from django.db import models
class ContactInfo(models.Model): pass
マイグレーション
$ python manage.py makemigrations crmapp$ python manage.py migrate
作成したモデルを管理サイトに登録
from django.contrib import admin
from .models import ContactInfo
# 管理サイトにDBを登録admin.site.register(ContactInfo)
スーパーユーザーの登録
$ 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>