初心者プログラマのひとり勉強部屋

若葉マークのプログラマー☺️

【python入門】pythonはじめました!

こんにちは!

 

pythonはじめました!

ブログ初めて1週間くらいですが、プログラミングの勉強初めて3ヶ月目・・(嬉)

まだrailsもはじめたばかりなんですが、我慢できず手を出してしまいました。

まだpythonの文法を1から学んでいるところですが、色々調べていると”あれやりたいこれやりたい”と妄想ばかり膨らみます、、本を大量購入してしまった!

 

ということで、今回はpythondjangoの記述方法について考えてみた!

(まだ漠然とした理解しかできていません。)

 

最初の理解

python:機械学習に優れた言語

Django:pythonフレームワークの一つ

 

MTV

ruby on railsMVCなのに対し、djangoはMTV

M:モデル

T:template

V:view

よくわかりません。

 

なのでdjangoで新規アプリケーションを作成した時の構成と、中身を比較してみた。

 

djangoでの”こんにちは”表示まで

・まず新規アプリケーション作成

mocomo
├── moco
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

 この状態でrun serverすると・・

f:id:mocomo012:20191019085105p:plain

localhost:8000

・設定変更

settings.pyにタイムゾーン言語コード・静的パス(CSS。画像など)の設定追加

 

・views.py(MTVのV)作成

from django.http import HttpResponse  //HttpResponseクラスを使用できるようにしている

def index(request):
  return HttpResponse('こんにちは!')  //こんにちは!というHttpResponseを返す

 

・viewを呼ぶためにurlパターンを設定urls.py

from django.contrib import admin
from django.urls import path

from . import views //views.py読み込み

urlpatterns = [
    path('', views.index), //パス, 関数が定義されているファイル名.関数名
    path('admin/', admin.site.urls), //最初のadmin設定
]

 

画面を確認!

f:id:mocomo012:20191019092125p:plain

localhost:8000

ここでrailsMVCと比べてみる

rails

・controller(コードは例)

def indexで関数定義・その中で変数定義やモデル間の処理・DBからデータ取り出し行なっている・HTMLへのredirectなども行う

  def index
    @mocomos = Mocomo.all.order("created_at DESC")
  end

 

・view

HTMLなど表示部分

 

・ルーティング

root 'mocomo#index' //コントローラー名#コントローラー内のアクション名

 

Django

・今回使ってないけど(T)templateはHTMLなど表示部分を記載する

→views.pyでrender使ってtemplateファイル読み込みます

・コントローラーの役割が似ている(関数定義・htmlへのrender)

・モデル→これから学習

・ルーティングの記載は”ファイル名.関数名”でrailsと似ている

 

結果

MVC(reails)がそれぞれMTV(django)

に相当してMVT(django)のようなイメージ?

 

まだまだわかってないことがたくさん。

学習頑張ってちゃんとまとめられるようにしよう。

 

 

詳しいことを知りたいときは、

djangoチュートリアル

https://docs.djangoproject.com/ja/2.2/

django girlsチュートリアル

https://tutorial.djangogirls.org/ja/

 

私はチュートリアルの前にこちらを参考に学習させていただきました😊

「Python3 + Django2.0入門」

その2まで実践させていただきましたが、python知識0から丸2-3日あれば概要を理解できました!

 大変感謝です☺️

 

 

※メモ

スクールの個人アプリケーションの開発・発表がもうすぐのため、

python習得に専念します。めちゃくちゃ中途半端ですがblogの更新は遅くなるかも。