ラズパイにdjangoを入れてhelloworldしてみた

 

せっかく、ラズパイを買ったので、ラズパイで撮った画像を表示するwebアプリを作ってみようかと思います。

 

とりあえず、仮想環境構築してdjangoを入れて、helloworldするところまでやってみました。

 

ラズパイの仮想環境構築ですが、virtualenvを使うことにします。(UbuntuだとAnaconda使いの私)

 

virtualenvとvirtualenvwrapperがインストールされている前提で始めていきます。

 

[toc]

djangoのインストール

 

cvという名前のpython3の仮想環境構築、起動。

mkvirtualenv cv -p python3
workon cv

 

djangoを入れて、プロジェクトをrasnpiappという名前で作成。現時点でdjangoのversionは2.1.7

pip install django
django-admin startproject raspiapp

 

settings.pyに、ラズパイのIPを入力。これで外部のPCからアクセスできる。

ALLOWED_HOSTS = ["localhost", "192.168.1.17"]

 

試しにwebアプリを起動。

python manage.py runserver 0.0.0.0:8080

 

「192.168.1.17:8080」にブラウザでアクセス。

 

helloworldを表示する

 

「192.168.1.17/imgview:8080」のように、URLを新しく設定してhelloworldを表示してみたい。

 

そういう時は以下の手順を踏む。

 

  1. 新しくアプリを作る
  2. アプリの中でhelloworldを返すビューを作る
  3. URL(/imgview)を設定する

 

順番に見ていきます。

 

新しくアプリを作る

 

imgviewという名前のアプリを作ります。

python manage.py startapp imgview

 

文字列を返すビューを作る

 

imgviewのフォルダの中にviews.pyがあるのでそれを以下のように編集。

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello Django")

 

URLを新しく作る

from django.contrib import admin
from django.urls import path
import imgview.views as imgview

urlpatterns = [
    path('admin/', admin.site.urls),
    path('imgview/', imgview.index)
]

 

再度サーバを起動。

python manage.py runserver 0.0.0.0:8080

 

hello worldが表示されます。

 

最後に

 

djangoがインストールできたので、次はラズパイで撮った画像を表示するようなwebアプリを作っていきたいと思います。

 

おわり。

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog