ブログ管理者のP.Hです!
今回はpythonのWebアプリのフレームワークの使い方を紹介します。とても簡単に早くWebアプリを作れますので、重宝します。少し長くなりますが、長いだけで難しくありませんので、読み進めて見てください。IoTしたい方は必見です。
- 作成するWebアプリの内容、使用するソフトウェアのバージョン
- Djangoのインストール
- Djangoプロジェクトの作成
- データベースの構築
- データベースのスーパーユーザーの設定
- setting.pyの設定(djtest→djtest→setting.pyファイルの編集)
- 動作確認
それでは、まずDjangoをインストールして、セットアップする方法を紹介します。
作成するWebアプリの内容、使用するソフトウェアのバージョン
テーブルの中にデータを表示するWebアプリを作成します。python、djangoは下記のバージョンを使用します。
- python 3.7.3
- django 3.0.0
Djangoのインストール
まずはdangoをインストールします。下記のpipコマンドを実行してください。
$ pip install django
Djangoプロジェクトの作成
それでは、プロジェクトを作成しましょう。Raspberry Piのターミナルで下記のコマンドを実行します。
$ django-admin.py startproject プロジェクト名(例:djtest)
今回プロジェクト名はdjtestとしました。 djtestフォルダが自動生成されますので、cdコマンドで移動します。
$ cd djtest
注意事項
- 以降、python manage.py … というコマンドを何回か実行します。その際は必ず、djtestフォルダに移動した状態で実行してください。
次にアプリケーションフォルダを下記のコマンドで作成します。
(djtestフォルダに移動した状態で実行してください)
$ django-admin.py startapp アプリケーション名(webpi)
今回アプリケーション名はwebpiとしました。このふたつのコマンドでプロジェクト/アプリケーションに必要なベースフォルダ/ファイルが自動生成されます。
データベースの構築
Webフレームワークでは、データベースを使用してデータを管理することが多く、Djangoでもデータベースを使用します。データベースの構築はしますが、あまりデータベースを意識せずにコードを書くことができるようになっています。
データベースはデフォルトで、sqlite3を使うように設定されています。(設定で、mysqlやpostgresqlに変更可能です)sqlite3であれば特に何も設定しなくても、下記のmigrateコマンドでデータベースを構築できます。
$ python manage.py migrate
データベースが構築され、djtestフォルダ内に、db.sqlite3というファイルが生成されますので、確認してください。
データベースのスーパーユーザーの設定
データベースの管理者(スーパーユーザー)を、下記のcreatesuperuserコマンドで 登録します。ユーザー名やパスワードは任意で構いません。下記は一例です。
$ python manage.py createsuperuser
- ユーザー名: admin
- メールアドレス: pi@pi.com
- パスワード: raspberrypi ※あまり短いとエラーになります。
- パスワード(再入力): raspberrypi
setting.pyの設定(djtest→djtest→setting.pyファイルの編集)
djangoの設定ファイルを編集し、ホスト名や今回作成するアプリを登録します。djtest→djtest→setting.pyのファイルを開くと、ALLOWED_HOSTS = [] と記載されている箇所があります。この中に許可するホスト名を記載します。
ALLOWED_HOSTS = ['xxx.xxx.xxx.xxx']
※xxx.xxx.xxx.xxxのIPアドレスはRaspberryPiのIPアドレスです。 また、INSTALLED_APPSの中に今から作成するアプリ名を追加します('webpi'を追加)。
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'webpi',]
動作確認
下記コマンドでWebサーバーを起動します。
$ python manage.py runserver xxx.xxx.xxx.xxx:8000
※xxx.xxx.xxx.xxxのIPアドレスはRaspberryPiのIPアドレスです。
RaspberryPiと接続可能な同一ネットワークにいるWindowsPC等で、ブラウザを開き、アドレスバーに "http://xxx.xxx.xxx.xxx:8000"と入力して、Enterキーを押します。ポート番号を入れるのを忘れずに。
It Worked!と記載された下記のテストページが表示されれば、プロジェクトのセットアップは完了です。
長くなりましたので、今回はここまでにしたいと思います。
次回は、実際にdjangoのコードを書いていきます。下記ブログを引き続きご覧ください!