読者です 読者をやめる 読者になる 読者になる

へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)!

Djangoの概要の概要についててきとうにまとめた

Django Python

はじめに

Djangoの概要についての言及が文字だらけなので
ああこんな感じね
ってノリで全体を理解できるものがないか探したんですが
見つからなかったので
自分で
まとめた

まとめた!

Djangoとかいうフレームワークと、ウェブサーバ(ApacheやNginx)、データベースの関係について

このサイトの上の方の画像。下にあるやつはたくさんプロジェクトを使うとき(らしい)

Overview of Single vs. Multi Server Architecture - Irrational Exuberance

wsgiってなんだよ
Webサーバとフレームワークをくっつけてくれるインタフェース。知らん。

memcachedとかいうやつ
『DBにばっかリクエストしたらDBに負荷かかって大変だろ? だからDBから教えてもらった情報お前に教えてやるから俺にも聞いていいよシステム』
参考

第1回 memcachedの基本:memcachedを知り尽くす|gihyo.jp … 技術評論社


本当は怖いMemcached - Qiita

Djangoの中身

真ん中のFunctional Architectureなるところ
Architecture — MyTardis 3.5 documentation

URLDispatcher(urls.py) :
ユーザがURLを入力、アクセスすると、
urls.pyに書いた通りにDjangoが『あ、このURL(/show)がきたということは、View(def show())の値をユーザに渡せばいいわけだな』と判断して
値を返してくれる。『何の値だよ』については次のViewに関する行を参照。
偉い。Apachemod_rewriteみたいなやつ。

View(views.py) :
views.pyにdef index()なるメソッドを作り、
その返り値にreturn HttpResponse("hoge")などと書くと、
ユーザがアクセスしたときにそれを表示してくれる。すごい。
もちろん設定次第ではviews.pyに絶対書かなければいけないわけではない。

Model(models.py) :
データベースにアクセスするときに使うやつ。
modelを作ってデータベースと結びつける。
JavaでいうDTOを便利にしたやつ。
データベースから取ってきてオブジェクト化するなら最初からオブジェクトでいいよね的発想で、オブジェクトごとデータベースになんか作るらしい(O/RMapperとか言うらしい)
便利だけど普通にリレーショナルデータベース使った方が速いので一長一短だとか。



ここのスライドの2枚目もいい感じ
Introduction to Django



complete flow of a Django request and response | Flickr - Photo Sharing!
こっちは中国の人が描いたやつらしいです。
complete flow of a Django request and response


便利なやつ!

  • template

『動的なHTMLとかをviews.pyに書くの大変じゃん? だからここに書いたらいいよシステム』
views.pyにrender(request, "アプリケーション名/ほげほげ.html")って書くと、所定の場所に置いたほげほげ.htmlファイルを解析して、動的なHTMLファイルっぽい形の値を生成してくれる。
それをユーザに渡して『ふつうのHTMLファイルか』と見せかけるやつ

テンプレート言語なる書き方をする。( {{とか{%とかを用いるやつ。 )
PHP化したPythonみたいなもの(PHP知らない)

こんなノリ
f:id:haruharu1:20150221013210p:plain

これらは全てより便利にするためのものであって別に知らなくてもいいけど知らないまま作ると大変だよ的なもの

しらない。そのうち追記する。おしえて。