Djangoせっかくだしpythonを使って、Webアプリケーションも作りたいな!と思ってDjangoにたどり着きました。都合がよい事にオンライン学習の「Udemy」でセールがあった際に「Djangoの入門編」を見つけて購入していたので、始めることにしました。www.udemy.com当初は、オンライン学習のみをこつこつとやっていたのですが、動画ベースの講座なので時間が開くとさっぱり忘れちゃっていて、思い出すにも動画を見返さないといけなくって結構しんどいです。ここでは学習サイトでやった部分のうち、重要だと思われる部分を抜粋して記載していこうかと思います。英語がぜんぜんわからないのに、英語の動画を見ているので、作業内容はともかく、口頭でいっているかもしれない重要なエッセンスは結構な頻度で漏らしている可能性があります。いった部分があれば、コメント等でご指摘いただければ幸いです。簡単なWebページを作成してみるhome.htmlの作成templatesの作成setting.pyの編集ohanky.htmlを一旦作成home.htmlからohanky.htmlへの遷移home.htmlの入力内容をohanky.htmlに表示する。Djangoのインストールまずは、導入作業から。pipでとってくるだけ。djangoプロジェクトの作成Djangoには、プロジェクトという概念があるみたい。プロジェクト単位にテスト用のWebサーバを立ち上げたりできる。今回は、「sample」という名前でプロジェクトを作った。sampleプロジェクトを作成すると、以下のファイルが作成される。この時点でなくても大丈夫。wsgi.pyWebサーバーの立ち上げプロジェクトを作成した際に、作成される「manage.py」でWebサーバーを立ち上げることができる。runserver上記、コマンドを実行すると、「http://127.0.0.1:8000/」でテスト用のWebサーバが起動しているよ!とのメッセージが表示される。CONTROL-C.さっそく、ブラウザでアクセスしてみると、以下の画面が表示され、無事起動できていることが確認できた。ポート番号をデフォルトの8000以外にしたいときは、runserver時にポート番号を指定することで変更できるみたい。8080終了したいときはctrl+cで終了する。World」ちっくなことをやってみる。views.pyの作成プロジェクトのsample配下に「views.py」を作成する。この中に、HTTPリクエストから呼ばれる関数を書く。名前に関しては「views.py」じゃなきゃいけないということではなさそうだけれども、動画の通りに作成した。wsgi.pyviews.pyの内容は以下の通り。クライアントからのHTTPリクエストでohankywolrd関数が呼ばれ、レスポンスとして「OhankyWorld」を返すだけ。World")url.pyの編集さきほど作成した「ohankyworld」関数をURLと紐づける。プロジェクト作成時に作成されるurl.pyファイルを開くと、urlと関数の紐付けを定義する箇所がある。ここに作成した、「ohankyworld」を追加する。view.pyをimportしないと、ohankyworldはurls.pyからは見えないので追加する。World!」と表示される。簡単なWebページを作成してみる次にDjangoの基本を理解するために、簡単なWebページを作成してみる。作成するWebサイトの構成は以下のとおり。home.htmlの作成まず、新規に「templates」ディレクトリを作成して、その配下に「home.html」を置く。home.htmlhome.htmlを抜粋すると以下の通り。</form>formタグのAcitonがポイントになるのだけれども、ちょっと話がそれるので一旦xxxxとしています。templatesの作成さきほど作成したディレクトリのtemplatesのこと書く。World!」を返した。World")文字列ではなく、htmlファイルをレスポンスとして返したい場合、templatesの機能を使うことで簡単にできる。'home.html')ただし、このままではうまくいかない。home.htmlがどこにあるを定義する必要がある。setting.pyの編集render関数に指定したhtmlファイルがどこにあるかは、プロジェクトを作成した際に自動で作成される「setting.py」で指定する。「setting.py」のTEMPLATESに、home.htmlを置いたディレクトリ「templates」を指定する。することで、render関数はtemplates配下のファイルを探しに行ってくれるみたい。},]また忘れずに、「url.py」にもhome.htmlの定義を追加しておく。views.home),]ここまでやったら、「http://localhost:8000/home」でhomeにアクセスしてみる。無事、表示されることが確認できた。次にhome.htmlの入力内容を表示するohanky.htmlを作成する。home.htmlと同じtemplatesディレクトリ配下に作成する。ohanky.html<h1>ここに、home.htmlで入力した内容を表示したい</h1>また、views.py、urls.pyにもohanky.htmlが参照できるように追記しておく。views.ohanky),]「http://localhost:8000/ohanky」にアクセスするとhtmlの内容が表示される。home.htmlからohanky.htmlへの遷移ここで、さきほど端折ったButtonを押したときのacitonについて書く。action=“xxxx"だった部分について、以下のように変更する。昔さわったphpを思い出した。</form>さらに、urls.pyのohaky.html部分のurl関数に引数nameを与える。actionで指定する名前になる。name='ohanky'),]この状態でButtonを押すと、「ohanky.html」に遷移してくれると思う。home.htmlの入力内容をohanky.htmlに表示する。さきほど作成した、ohanky関数にrequest.GETメソッドを追加することでhome.htmlの入力フォームの内容を取得することができる。これを、render関数の引数にディクショナリ形式で渡す。#request.GETメソッドtextを取得する。'ohanky.html',{'mytext1':mytext1,'mytext2':mytext2})ohanky.html側には、「{{ディクショナリのキー}}」を記載することで表示することができる。</h1>次回に続きます。Web案件の受託開発をしていてふと思った疑問。Reactをさわってみることにした。»プロフィール30歳からWebやらなんやらを学び始めた人のブログです。(4)検索はてなブログをはじめよう!konoemarioさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。