pythonでwebアプリケーションを作ろうと思い立ち、その手順をまとめました。
随時更新します。(MacOS Sierra ver10.12.4)
pythonをインストール(2.7系をインストール)
pip(pythonのバージョン管理システム)のインストール
django(PythonのWebフレームワーク)のインストール
django-admin.pyにPATHを通す
↓MacOS標準のPythonのライブラリを見に行っているらしいので、そこにPATHを通す
sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/django-admin.py /usr/local/bin/
パーミッション設定
これをやらないと、pyファイルの保存でいちいちパスワード入力を求められたり、ファイル追加できなかったりする。
sudo chmod +x /usr/local/bin/django-admin.py
補足
/usr/local/を開く方法(mac)
http://qiita.com/DarkLight_0/items/d257d4b8f27ad670f40d
プロジェクトを作る
django-admin startproject mySite
python manage.py startapp myapp(mySiteとは違う名前で作ること)
「Polls アプリケーションをつくる」あたりから参考に。。。
https://docs.djangoproject.com/ja/1.11/intro/tutorial01/
データベース接続
MacにMySQLをインストールする
Python3 + Django で MySQL に接続
モデル作成からMySQLにテーブルを作る手順
こんな感じでモデルを記述
myapp/models.py
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
その後、↓を実行する
モデルの変更をマイグレーションの形で保存する(ディスク上のファイルに保存)
python manage.py makemigrations myapp
マイグレーションがどんなSQLを実行するのかを確認する(確認したい場合のみ)
python manage.py sqlmigrate polls 0001
モデルのテーブルをデータベースに作成する
python manage.py migrate
※ログイン画面、データベースとビューの連携の実装方法などを記載予定
エラー解決メモ
SyntaxError: Non-ASCII character '\xe3'
実行ファイルの冒頭に「# coding:utf-8」を記述すると直る
macでLISTENとして使用しているポートを調べる方法
MySQLが使っているポート番号を調べたかったので。。。
http://qiita.com/yokozawa/items/dbcb3b31f9308e4dcefc
sudo lsof -i -P | grep "LISTEN"