こんにちは!
情報通信システム工学科アドベントカレンダーの3日目やってまいりました〜
情報通信システム工学科三年の吉田ことたつぱかです!
先日はほのさん(@hnk1031 )に女子大生っぽい記事を書いていただきました!
クリスマスカラーのターミナルをみて、もうクリスマスの時期なのかと一人嘆いていたのは内緒。
さて本日ですが、
自身が一番最初に勉強したWebアプリケーションフレイームワークDjangoの書き方のようなものを記事にしていこうと思います。
ざっくり書くので、説明不足な点が色々あるとは思いますが、温かい目で見守ってください。
pythonの環境構築ができていてpipが使える前提でお話します。
Anaconda環境でもpipをcondaに置き換えてコマンドを入力することでできるとは思いますが、
モジュールのバージョン管理がどのようになってるのかがわからないので、下調べすることを推奨します。
今回紹介すること
合わせてこちらにもオススメのチュートリアル記事が乗っているのでご参照ください
Python Django 入門(1)
Django Girls Tutorial
動作環境
- python 3.6.5
- django 2.1.3
Djangoって何?
python用のWebアプリケーションフレームワークです。
templateというDjango専用のモジュールが幾つも存在し、手軽にWebアプリケーションを作成できます。
pythonのフレイムワークとして有名なのは
Djangoの他にtornadoや、flask、bottleなどがあります。
今回紹介するDjangoは主に中規模のWebアプリケーション作成などに用いられます。
Django導入
先ほどにも述べた通り、pythonを既に導入しているという前提で説明していきます。
Pypi(チーズショップ)にDjangoモジュールがあります。
Pypi-Django
なのでまずは、以下のコマンドでDjangoモジュールをインストールしましょう。
pip install Django==2.1.3
初期ページ作成まで
Djangoを導入したのでまずはプロジェクトを作成しましよう。
以下のコマンドから作れます
django-admin startproject mysite
コマンド内のmysite
の部分がプロジェクト名になります。
すると以下の画像のように自動でファイルが生成されます。
mysite
┣db.sqlite3
┣manage.py
┗mysite/
┣__pycache__/
┗なんかたくさんある
┣__init__.py
┣setting.py
┣urls.py
┗wsgi.py
最後にターミナルでmanage.pyのディレクトリまで移動し、
無心で以下のコマンドを入力しましょう
python manage.py runserver
するとローカル環境でサーバーを立ち上げてくれて
以下の画像の通りに出力されます。
このようになったらあとは、Starting development server at ~
の後に続くURLにアクセスしましょう。今回の場合はhttp://127.0.0.1:8000/
ですね
このような画面が出てきたら、成功です!
どのようになっているかを説明すると、
プロジェクト名と同じ名前のディレクトリ内にurls.py
というファイルがあり中身を開くとこう記述してあります。
言っておきますが、私はvimmerではありませんし、どちらの党にも属しておりません
そんなことはさておき20行目をみてみると、
path('admin/',admin.site.urls),
と記述してあります。
先ほどの場合だと、http://127.0.0.1:8000/
にアクセスしましたが、
要はhttp://127.0.0.1:8000/+第一引数
にアクセスすると、第二引数を呼び出すよ!
という認識でいれば問題ないと思います。いわゆるRouter
ってやつですね!
以下の画像がhttp://127.0.0.1:8000/admin/
にアクセスした時の画面です、
管理者用の画面がさらっとできてますが、アカウントを作成してないので、ログインはできませんよとだけいっておきます。
最後に
初めてアドベントカレンダーに参加し、初めてアウトプットをしたと思います。
自分が学んだことをアウトプットする機会があっていいなぁと思いました。
また、次回の機会がありましたら、この記事の続きで何か記事を書くかもしれません。
もし、なんか疑問点あったらコメントに書き込んでください。
4日目はひょーちゃんこと、加藤くん(@hyo_07 )がMask R-CNNのWindowsでの環境構築法について記事にしてくれるそうなので、そこに苦労している方がいらっしゃったら、必見ですね!
## 参考文献
PythonのWebフレームワーク4種比較
はじめての Django アプリ作成、その1
PyPIの読み方
Qiita で見出しアンカーへのページ内リンクを作る方法
ディレクトリ構成図を書くときに便利な記号
【HTML入門】スペース(空白)を表示させる3つの方法