はじめに
python、そしてDjangoのインストールは終わっているのでアプリの作成から行きます。
(他の記事に簡単にまとめてあるのでそちらをぜひ。)
Djangoとは
WEBアプリケーションを作る為のフレームワーク。
フレームワークとは、内容がパターン化できる作業を簡略化し、
アプリケーション作成の能率を上げるものです。
Python製のフレームワークはBottle、Flaskなどいくつかありますが、
Djangoは拡張がしやすい、実用性が高いなどの特徴があります。
また、はじめからuser認証や管理画面などよく使う機能が入っていて便利です。
実際に作っていく
1・作業用ディレクトリを作成
$ mkdir (ディレクトリ名)
作ったディレクトリに移動します。
2・プロジェクト作成
プロジェクトを作成し、その中でアプリを作る、という流れです。
今回は
プロジェクト名: tclone
アプリケーション名: index
で作りました。
まず
$ django-admin startproject tclone でプロジェクトを作成し、
tcloneディレクトリに移動した後
$ python manage.py startapp index
で、indexというフォルダが作成されました。
・作成されたindexフォルダの構成
.
├── init.py
├── admin.py
├── apps.py
├── migrations
│ └── init.py
├── models.py
├── tests.py
└── views.py
3・実装
処理の大まかな流れは、
1、設定したディレクトリ(この場合は、ai_academy/tclone)内の
urls.pyでどのアプリケーションに処理を渡すか決定。
つまりデータの処理はここが起点になる。
2、1.で決定されたアプリケーション内のurls.pyで、
同ディレクトリ内のviews.pyでどのアクションを動かすか決定
3、アクション発動
4、アクションの結果(例:データベースからデータを持ってくる)を
クライアントに返す
①urls.pyを設定する
それでは、その流れに従って、urls.pyを設定していきます。
(今回はadminアプリケーションは使わないため、コメントアウトします。
該当部分を以下のように修正してください。)
** (ディレクトリ名)/tclone/tclone/urls.pyを開く**
from django.contrib import admin
from django.urls import path,include **(includeを追加)**
urlpatterns = [
path('admin/', admin.site.urls), **(コメントアウト)**
path('', include('index.urls')), **(こちらを追加)**
]
6行目は「''」で空欄、つまりトップページを設定し、
include('index.urls')でindexアプリケーション内のurls.pyに処理を引き継ぐ、
という意味です。
なので今度はindexアプリケーション内のurls.pyを設定します。
indexディレクトリ内に「urls.py」ファイルを新たに作成し、以下の内容にします。
** (ディレクトリ名)/tclone/index/urls.pyを開く**
1. from django.urls import path
2. from . import views
3. urlpatterns = [
5. path('', views.index, name='index'),
]
5行目では「''」がindexアプリケーション内トップページに
アクセスがあった場合を示しています。その次にviews.indexとありますが、
これは、views.pyでindexアクションを呼び出すことを示しています。
今度はindexアプリケーションを設定ファイルに追加する必要があります。
以下のファイルの該当部分に追加をします。
(ディレクトリ名)/tclone/tclone/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'index', # こちらを追加
]
ややこしい。
今度はHello Worldを表示する画面の設定をします。
indexディレクトリ内にtemplatesディレクトリを作成し、
その中にもindexディレクトリを作成します。
その内部にindex.htmlというファイルを作成します。
ファイルには以下の内容を記述します。
(ディレクトリ名)/tclone/index/templates/index/index.html
Hello World
最後にindexアプリケーションのviews.pyにアクションを追加します。
以下の内容を記述。
(ディレクトリ名)/tclone/index/views.py
from django.shortcuts import render
def index(request):
return render(request, 'index/index.html')
ここまで終わったら以下のコマンドでサーバを起動させましょう。
ディレクトリを移動していたら
、manage.pyのある(ディレクトリ名)/tcloneディレクトリ内で実行します。
$ python manage.py runserver
http://127.0.0.1:8000 をブラウザで開きます。
Hello Worldと画面に表示されたはずです。
おわりに
ファイルとかディレクトリとかややこしい。。
railsもはじめほんとにわからなかったので数をこなす。
ここからツイート機能、いいね、編集、削除を足していく!!