5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初心者が django でアプリケーション開発に挑戦

Posted at

#環境
MacOS Mojave / Chrome / IntelliJ IDEA

djangoはvenv環境内にインストールしているため、ターミナルではvenv環境に入ってから。
IntelliJを使用しているためプロジェクトは「IdeaProjects」というディレクトリの中に作成。

練習用なので適当なディレクトリを作成しておく(django_learninなど)

venv環境へ(環境設定はこちらを参考)

$ source env/bin/activate

Djangoのインストールは

(env)$ pip install django

Django環境の準備

プロジェクトを作成
「プロジェクト」は毎回作っても良いけど、この下の階層に「アプリ」というディレクトリを作成する事になるので学習のためならプロジェクトは一個で良いかもしれない。
(と言いながらこの呪文を覚えてしまうほど、たくさんプロジェクトを作った・・・)

前述した適当なディレクトリに移動した上で

(env)$ django-admin startproject sample_pj

※sample_pj は好きな名前を入力

ここで

command not found: django-admin

などのエラーがでる場合は、

1.djangoのインストールができていない
2.venv環境に入っていない(上記)

の2点であることが多いかと。

新しく上記で名付けたプロジェクト名と同名のディレクトリができる

sample_pj
manage.py

このmanage.pyというファイルはこれから嫌でも覚えることに。

Djangoアプリの作成

manage.pyが入っているディレクリに移動して

(env)$ python manage.py startapp django_app

※django_app は好きな名前を入力

python の部分は ./ でもOKなので

(env)$ ./manage.py startapp django_app

と書いてもOK。今後出てくる manage.py を利用する際の頭の python という部分も同様。

作成したアプリは忘れずに登録
上記のプロジェクトと同名のディレクトリ内にある setting.py を開き アプリを登録する場所へ追記する。

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django_app', #今回で追加したアプリ
]

#モデルの作成
アプリケーションフォルダ内にある models.py はデータベース設計の際に必要だとしたものを定義しておく。

(環境構築のテストなどであればここは飛ばしてもOK)

※開発の手順についてざっくりまとめたものはこちら

models.py を触ったらマイグレーションが必要。

アプリケーション内にマイグレーションファイルを作成

(env)$ ./manage.py makemigrations django_app

アプリディレクトリ内に migrations というファイルができている。

マイグレーションを実行

(env)$ ./managae.py migrate

テーブルの登録
admin.py に models.py で作成したモデルを登録

(環境構築のテストなどであればここは飛ばしてもOK)

admin.py
from django.contrib import admin
from .models import AAAA, BBBB, CCCC

admin.site.register(AAA)
admin.site.register(BBB)
admin.site.register(CCC)

※AAA や BBB などはmodels.pyで名付けたモデルの名前

#管理者の登録
管理者画面から操作できるようにする

(env)$ ./manage.py createsuperuser

ここで聞かれる情報は

Username: 管理者名
Email address: メールアドレス
Password: パスワード
Password(Again): パスワード再入力

最初の管理者以外は管理者ページで作成が可能

サーバーを起動して管理者画面へ

(env)$ ./manage.py runserver

http://localhost:8000/admin/

で上記で登録したID / PASSWORD を入力してユーザー登録画面へ入ることができる

5
5
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
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?