0
1

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初心者の忘備録2(Applicationの作成〜Viewの作成まで)

Posted at

#環境 & 目的
前回の記事と同様
Django初心者の忘備録

#Applicationの作成
Projectの作成とサーバーの動作の確認が終わったら、次はApplicationを作成する。
その前にApplicationとProjectの違いはDjangoチュートリアルの説明によると以下の様。

プロジェクトとアプリケーション プロジェクトとアプリケーションの違いとは何でしょうか?アプリケーションとは、実際に何らかの処理を行う Web アプリケーションを指します。例えばブログシステムや公開レコードのデータベース、単純な投票アプリといった具合です。プロジェクトとは、あるウェブサイト向けに設定とアプリケーションを集めたものです。一つのプロジェクトには複数のアプリケーションを入れられ ます。また、一つのアプリケーションは複数のプロジェクトで使えます。(Djangoチュートリアルより引用)
要は単一もしくは複数のアプリケーション+諸々の動作の設定などをまとめたものが”プロジェクト”という事だろう。 という事で、Applicationの作成は以下のコマンドを実行すれば良い。
  $ python manage.py startapp Application名

ちなみに、この時点でのWebアプリケーション全体のディレクトリは以下の様。


- your_project_name/
    - manage.py
    - your_application_name/
        - __pycache__/
        - migrations/
        - __init__.py
        - admin.py
        - apps.py
        - models.py
        - tests.py
        - views.py
    - your_project_name/ 
        - ___init___.py
        - settings.py
        - urls.py
        - wsgi.py

#Viewの作成
Applicationの作成が終わったらViewの作成をする。
個人的に一番混乱したのはViewである。理由は至って単純で、View=外観つまり、ページのデザインチックなものを書くものだと思っていたからだ。
単純に言ってしまえばViewはデータベースから取ってきたデータをどの様に表示するかという事などを決めるところみたいな理解でいいと思う。(もちろん、初心者大体の理解なので悪しからず。異論反論大歓迎)
閑話休題。
your_application_name/views.pyを開いて以下のコードを書き足す。

your_application_name/views.py
from django.http import HttpResponse
   
def index(request):
   return HttpResponse("This is index page on your application.")

コードを書き足したら、次にViewを呼ぶためにURLの関連付けるをする。まずはApplicationのディレクトリにurls.pyというファイルを作成する。作成したら以下のコードを書いていく。

your_applicaion_name/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

Application内での関連付けが完了したので、次はProjectのurls.pyにApplicaitonのurls.pyを関連付けしていく。

your_project_name/urls.py
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('your_application_name/', include('your_application_name.urls')),
   #path内の'your_application_name'は'/'でもOK
    path('admin/', admin.site.urls),
]

*include()など他の関数も知りたいという方はチュートリアルを参照してください。

この時点でのWebアプリケーション全体のディレクトリは以下の様。


- your_project_name/
    - manage.py
    - your_application_name/
        - __pycache__/
        - migrations/
        - __init__.py
        - admin.py
        - apps.py
        - models.py
        - tests.py
        - views.py
        - urls.py
    - your_project_name/ 
        - ___init___.py
        - settings.py
        - urls.py
        - wsgi.py

モデルまで書こうと思ったけど、思いのほか長くなってしまったのでModelは次の記事で。
とりあえず、今日はここまで

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?