0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Django 初期設定

Last updated at Posted at 2024-11-14

記事を書こうと思った経緯

Djangoにてアプリを開発する際、毎回、調べながら初期設定を行っているので、自分なりにまとめてみることにした。

目次

・Djangoのインストール
・プロジェクトの作成
・アプリの作成
・settings.pyの設定
・テンプレートフォルダ、staticフォルダの作成、反映
・起動確認

Djangoのインストール

pip install Django 

version指定の場合はDjango~=4.2.0とする

プロジェクトの作成

プロジェクトとは、Djangoにおけるアプリの置き場のようなもの。
作成したプロジェクトの中に複数のアプリを作成することができる。
以下を入力する。

django-admin startproject プロジェクト名 .

すると、プロジェクト名のファイルと、manage.pyのファイルが作成される。
現在のディレクトリにファイルを作成したいので .をつける

アプリの作成

以下を入力することによりアプリを作成することができる

python manage.py startapp アプリ名

すると、アプリ名のファイルが作成される

settings.pyの設定

プロジェクトのsettings.pyの設定を変更しなければならない。

言語変更

日本語に変更

LANGUAGE_CODE = 'en-us'

LANGUAGE_CODE = 'ja'

基準時間変更

東京に変更

TIME_ZONE = 'UTC'

TIME_ZONE = 'Asia/Tokyo'

アプリを追加

アプリの設定をプロジェクト全体で有効にするため

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'アプリ名'
]

変更したものを反映させる

python3 manage.py migrate

↓こんなものが出ればOK

Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK

テンプレートフォルダ、staticフォルダの作成、反映

今回はtemplatesstaticというファイル名を作成。
templatesにはテンプレートを。staticには、CSSファイルや画像を。
今回はこういったディレクトリ構造にした。

├── MainApp
├── accounts
├── db.sqlite3
├── manage.py
├── myenv
├── mysite
├── requirements.txt
├── static
│   └── css
└── templates
    ├── accounts
    └── base.html

settings.pyのTEMPLATESのDIRSにos.path.join(BASE_DIR, 'templates')を追加

import os #インポート部分に記載しておく

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, 'templates'),
            ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

これで、テンプレートを作成したあと、アプリに反映されるようになる。

また、CSSファイルをテンプレートに反映させるため、settings.pyに以下を入力

settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    BASE_DIR / "static",
]

HTMLに以下を入力することでCSSが反映される

base.html
<link rel="stylesheet" href="{% static 'css/style.css' %}">
STATICFILES_DIRS = [
    BASE_DIR / "static",
]

これを入力することで、djangoがcssフォルダのルートを探し出してくれる。
条件は、staticフォルダにいれること。staticフォルダに入れておくと、自動的にルートを探し出してくれる。アプリごとにtemplatesフォルダを作成すると、上記を入力しないで済む。

起動確認

以下を入力してアプリを起動させる。無事に起動できれば初期設定完了である。

python manage.py runserver

感想

テンプレートの設定を行っていなくて、アプリに反映されずパニックになっていたが、今回の学習で理解した。初学者の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?