LoginSignup
4
3

More than 3 years have passed since last update.

Djangoのアプリ作成から仮のトップページの作成まで〜

Last updated at Posted at 2021-01-26

#はじめに
前回Djangoの環境構築からプロジェクト作成まで〜という記事を書かせていただきましたが、今回はその続きとして「Djangoのアプリ作成から仮のトップページの作成まで」をまとめていきたいなぁと思います。

また今回の記事も下記の参考サイトを簡易的にまとめたものです。
自分が忘れないようにアウトプット、ついでにみなさんと共有できればいいと思っているので、より詳しく知りたい方は下記の参考サイトをご覧ください。

#参考

#Djangoアプリの作成
下記のコマンドをうって新規のアプリを作成できる
(仮想環境を起動した状態で行う)

command-line
$ python manage.py startapp (アプリ名)

今回作成するアプリ名はappとします

###現在のファイル構造

file
(作成したディレクトリ)
├── (仮想環境の名前)
├── (プロジェクト名)
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
|
├── app
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
|
├── requirements.txt
└── manage.py

こんな感じになっていればアプリの作成は完了!

###作成されたファイルの説明
admin.py
Djangoの機能で管理ページについて記述する

apps.py
アプリの設定について記述する

migrations
モデルをデータベースに反映するためのファイルを入れとくディレクトリ

models.py
Djangoのモデルについて記述する

tesets.py
自動テストを記述する

views.py
ビューについて記述する

###プロジェクトをアプリに反映させる
アプリを作ったらそれをDjangoに使うよう伝えなければいけない

(プロジェクト名)/settings.pyでそれらの設定を行う

(プロジェクト名)/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app.apps.AppConfig', #この行を追加する
]

(作成したディレクトリ名)/app/apps.pyを参照するようにする

これで、アプリケーションの作成は完了!

#トップページの作成
###トップページのテンプレートの作成
appのディレクトリ中にtemplatesというディレクトリを作成して、
さらにその中にappと同じ名前のディレクトリを作成する。

app
└───templates
    └───app

こんなかんじになっていればOK

app/templates/appの中にhtmlファイルを作成する
今回は、index.htmlという名前にします

app
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│   └── __init__.py
├── models.py
├── templates
│   └── app
│       └── index.html
├── tests.py
├── urls.py
└── views.py

構造が複雑になってきたけど上記のようになっていれば良いです

###ビューにテンプレートを指定
app/views.pyを以下のように記述する

app/views.py
from django.shortcuts import render
def index(request):
    return render(request, "app/index.html") 

説明
引数にrequestを取る関数indexを定義
renderという関数を用いて呼び出した値をreturnしている

以上で仮のトップページの作成は完了です!

#さいごに
前回も書かせていただきましたが、
自分は最近勉強を始めたばかりの初心者なので間違えている所があったらご指摘していただけたらこちらも勉強になるのでありがたいです。
また、はじめの方にも書きましたが参考にしたサイトの内容を簡易的にまとめた記事なので
これからDjangoを勉強しようとしている方やより詳しいことを知りたい方は参考サイトを見たほうが良いかもしれません。

今回はご覧いただきありがとうございました!

4
3
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
4
3