LoginSignup
3
5

More than 5 years have passed since last update.

PythonでWebアプリケーションを開発する手順

Last updated at Posted at 2017-09-14

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"
3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5