はじめに
あいかわらず、Mac M1に苦戦しまくっています。(クソ初心者が購入するんじゃなかったと、軽く後悔もしています。私がバカですね。。。)
今もtensorflowをいまだにインストールできず、ニューラルネットワークもチマチマしかできていません。。。
そんな中、pythonの勉強になればと思い、Djangoに手を出していました。
ここでは、すぐ忘れている私自身のために、備忘録として書いていきます。
Djangoとは
そもそもDjangoとは、Pythonで実装されたWebアプリケーションフレームワークです。
基本的な機能は、標準装備されており、必要に応じてカスタマイズしていくという、初心者でも優しいフレームワークです。
プロジェクトを作成する
はじめてなので、プロジェクトを作成して、ローカルサーバーを起動するまでを書いていきます!
前提
端末はMac M1です。
conda環境で構築します。
(Mac M1の場合は、miniforgeをインストールしてconda環境を構築してください。)
condaでDjango環境を作る
ターミナルを開いて、condaのデフォルト環境(base)の起動します。
conda activate
デフォルト環境(base)上で、次に新たにconda環境を作る。(pythonのバージョンは、3.9にしています。)
conda create -n ●●(新しい名前を付ける) python=3.9
新しく作ったconda環境を起動します。
conda activate ●●(新たに付けたconda環境の名前)
新しく作ったconda環境の中にDjango パッケージをインストールします。
conda install django
Django パッケージがインストールされているかを確認するために、インストール済みパッケージ表示します。
conda list
以下のようにパッケージを表示した中に、djangoがあれば、インストール成功です!
# Name Version Build Channel
asgiref 3.3.1 pyhd3eb1b0_0
ca-certificates 2020.12.5 h4653dfc_0 conda-forge
certifi 2020.6.20 pyhd3eb1b0_3
django 3.1.7 pyhd3eb1b0_0 ← ここです!!
djangoでローカルサーバーを起動する。
djangoのインストールが完了したら、新しくdjangoプロジェクトを作っていきます。(ここでプロジェクトのフォルダが作成されます。事前に作りたいディレクトリに移動しておきます。)
django-admin startproject ★★(新しいプロジェクト名)
★★(新しいプロジェクト名)フォルダに移動します。
cd ★★(新しいプロジェクト名)
マイグレート(データの統合、移動)をします。
python manage.py migrate
マイグレートできているかを確認するために、対話的にSQLを実行できるモードにします。
sqlite3 db.sqlite3
"sqlite>"になったら、以下のコマンドを打って、テーブル一覧を確認する。
以下のテーブルが表示されたら、マイグレートできています。
sqlite> .tables
auth_group auth_user_user_permissions
auth_group_permissions django_admin_log
auth_permission django_content_type
auth_user django_migrations
auth_user_groups django_session
[Ctrl + c] で対話モードから戻り、ローカルサーバーを起動します。
python manage.py runserver
以下のコメントが出てきたら、ローカルサーバーが上手く起動したことになります。コメント内に "http://127.0.0.1:8000/" というポート番号が記載されているので、ブラウザで http://127.0.0.1:8000/ にアクセスしてください。
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
March 26, 2021 - 12:38:45
Django version 3.1.7, using settings 'helloworld.settings'
Starting development server at http://127.0.0.1:8000/
[Ctrl + c] のコマンドを打てば、サーバーが止まります。
参考資料
以下を参考にさせていただきました。
M1 MacにPythonインストールして開発環境構築してみた
https://note.com/osmszk/n/n277447e8c2a4
はじめての Django アプリ作成、その 1
https://docs.djangoproject.com/ja/3.1/intro/tutorial01/