2017-09-22

【Django入門】Mac環境にDjangoを導入する1(環境構築とプロジェクト作成)

◆対象

Pythonをやりたい! とりあえずメジャーなフレームワークで構築してみよう Djangoで構築 という方の手順を記録してみました。

■Pythonの動作確認

$ python3 --version Python 3.5.2 動作が確認取れない場合はPythonをインストールする

◆仮想環境構築

以下で仮想環境を構築する
仮想環境には virtualenv、venv がありますが、
virtualenv がデファクトスタンダードらしいです。


venvは、virtualenvみたいな機能を標準でもサポートしようぜ!
ということでPython3.3から追加された標準モジュールのようです。


下記では、venv で作成しています。



■ディレクトリの作成

まず、仮想環境を作成したいディレクトリまで移動します $ mkdir sample_app $ cd sample_app

■仮想環境を作成する

$ python3 -m venv myvenv

■ディレクトリが作成されたことを確認

$ ls myvenv

■treeにより作成されたディレクトリ内容を確認してみる

treeをインストールしていない場合はインストールする $ brew install tree treeによるディレクトリ内容を確認 $ tree -L 1 myvenv myvenv ├── bin ├── include ├── lib └── pyvenv.cfg

■Djangoインストール

myvenv user$ pip3 install Django==1.11.5

◆プロジェクト作成

■現在位置の確認

$ pwd /Users/#{myname}/Desktop/sample_app/myapp $ tree -L 1 . . ├── bin ├── include ├── lib └── pyvenv.cfg

■プロジェクトを作成する

$ django-admin startproject myapp . $ ls bin lib myapp include manage.py pyvenv.cfg $ tree -L 1 . . ├── bin ├── include ├── lib ├── manage.py ├── myapp └── pyvenv.cfg

■設定ファイル内のタイムゾーンを変更する

Vimを使って編集してみました $ cd myapp $ vim settings.py 以下の内容に変更します ``` # LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'ja' # TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Tokyo' USE_I18N = True USE_L10N = True # USE_TZ = True USE_TZ = False ```

■データベースの設定

SQLiteを使用する場合は myapp/settings.py の中に以下が記載されています。 MySQL、PostgreSQLを使う場合は応じて変更が必要 ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ```

■DBのマイグレーション

SQLite3動作確認(macには予めインストールされている) $ sqlite3 -version マイグレーションの実行 $ ls bin lib myapp include manage.py pyvenv.cfg $ source ./bin/activate $ python manage.py migrate $ python3 manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying sessions.0001_initial... OK

◆動作確認

■サーバ起動

$ python manage.py runserver $ python3 manage.py runserver Performing system checks... System check identified no issues (0 silenced). You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. September 22, 2017 - 15:22:03 Django version 1.11.5, using settings 'myapp.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

■動作確認

下記にアクセスします。 http://127.0.0.1:8000/ 参考 https://qiita.com/yoshizaki_kkgk/items/f3c79e38b802c7fc8863 https://qiita.com/maskedw/items/aaa2fd7abfd493cf2820 https://teratail.com/questions/64846 https://teratail.com/questions/82246

■次回記事

【Django入門】Mac環境にDjangoを導入する2(アプリケーション作成) http://shige-mon.blogspot.jp/2017/09/djangomacdjango.html

0 件のコメント:

コメントを投稿