Raspberry Pi & Python 開発ブログ ☆彡

Raspberry PiとPythonの基本的な使い方をわかりやすく解説。初心者、入門者必見!!

Djangoの使い方:その1

django install

ブログ管理者のP.Hです!

今回はpythonのWebアプリのフレームワークの使い方を紹介します。とても簡単に早くWebアプリを作れますので、重宝します。少し長くなりますが、長いだけで難しくありませんので、読み進めて見てください。IoTしたい方は必見です。

それでは、まず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 install finish

長くなりましたので、今回はここまでにしたいと思います。
次回は、実際にdjangoのコードを書いていきます。下記ブログを引き続きご覧ください!

www.raspberrypirulo.net