Edited at

Pythonでアプリを作るまで(備忘録) その1

More than 3 years have passed since last update.

思い立ったが吉日と言いますか、railsを触ってそんなに日も立ってないのにまた新しく今度はPythonで作ります(railsはまたそのうち)


導入

導入部分については探せばいくらでも出てくると思うので何入れたかだけ書いておきます

・Python3(ver 3.5.1)

・pyenv-virtualenv

・Django 1.9.2

Homebrew使えば苦もなく上二つは導入できるし、Djangoについては下記参照なので特筆して注意すべきことはないです

仮想環境を構築します(Scalaでもこんな感じでバージョン固定出来たらなあ)

$ pyenv install 3.5.1

$ pyenv rehash
$ pyenv virtualenv 3.5.1 py351
(アプリ用のディレクトリ内にて)
$ pyenv local py351
$ source bin/activate
$ pip3 install Django

(2016/05/28更新)

ちょっと上記の通りだと上手くいかない事もあったので、ふつうにvirtualenvを使うパターンも追記しておきます

$ mkdir testdir

$ virtualenv testdir
$ source bin/activate
(後は入れたいものをpipでどんどん入れていく)


アプリ書き初めの前に

早速仮想環境内でアプリ用のディレクトリを構築していきます(仮想環境名はfirstapp)

$ django-admin startproject firstapp(*ディレクトリ名*)

$ cd firstapp
$ python3 manage.py runserver

こんな感じで実行していくとhttp://127.0.0.1:8000/ にアクセス可能になります。簡易的にサーバー構築ができました

お次にスーパーユーザを作成(任意だと思いますが管理者権限ページには必要なので作っておきましょう)

$ python3 manage.py createsuperuser

こうすると名前やアドレス、パスワードを作るよう要求されるのでそれに応じます

アドレスの名称とパスワードが被っていたり、ありきたりなパスワードだと起こられる便利仕様


アプリ書き初め

さていよいよアプリ書いていきます。主にここの流れを参照していきながらなので、日本語ドキュメント出来たらそっちを参照した方が早いですね

https://docs.djangoproject.com/en/1.9/intro/tutorial01/

まずさっき作ったディレクトリ内でアプリ本体用のディレクトリを作成していきます。作成したばかりだと構成は以下の通りになるはずです

(*~/firstapp*)

$ python3 manage.py startapp testmake(*アプリ本体のを作るディレクトリの名前*)
$ l testmake
__init__.py
admin.py
apps.py
migrations
models.py
tests.py
views.py

次にこの作成したtestmake内で色々ファイルをいじっていきます

まずはtopサイトになるviews.pyから


views.py

#/testmake/views.py

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
return HttpResponse("Test")


次にルーティングの設定


testmake/urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
url(r'^$', views.index, name='index'),
]



firstapp/firstapp/urls.py

from django.conf.urls import include, url

from django.contrib import admin

urlpatterns = [
url(r'^testmake/', include('testmake.urls')),
url(r'^admin/', admin.site.urls),
]


こんな感じで設定はOKです。

http://127.0.0.1:8000/testmake にアクセスするとviews.pyのindexメソッドで記述した内容が見れます

http://127.0.0.1:8000/admin にアクセスし、先ほど設定したadminユーザー名とパスワードを入力すると管理者用のページに飛ぶ事が出来ます

次回はDBの設計あたりを進められれば良いかなと