pythonのcgiでdbにアクセスできるようになった。
さあ、dbを使ってちょっとしたアプリケーションを作ってみたいが、
何をするにもサービスにログインする仕組みは必要だろう。
以前からログインの仕組みをやりたいと思っていた。
しらべるとdjangoを使った方法が紹介されていたので、
まずdjangoを使ってみる。
centos8, python3が前提
pip intall django
以下は適当な場所にフォルダを作り、そこで実行した。
プロジェクトの作成
# django-admin startprojects myproject
#cd myproject
アプリケーションの作成
#python manage.py startapp myapp
myapp/views.py を編集
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello")
myproject/urls.py を編集、
import myapp.views を追加、
最後のところに作成したアプリケーションへのpathを追加
from django.contrib import admin
from django.urls import path
import myapp.views
urlpatterns = [
path('admin/', admin.site.urls),
path(r'', myapp.views.index, name='index')
]
myproject/myproject/settigs.py
にアクセスを許可するホスト名を追加する
ALLOWED_HOSTS = ['*']
で、なんでも許可
デフォルトは何も設定されていないので必ずエラーになる。
プロジェクトフォルダにある manage.pyを使って
migrate(設定の反映みたいなもの?)を実行
python manage.py migrate
アプリケーションを実行
xx.xx.xx.xxはサーバのグローバルIPアドレス
アドレスを指定しないと127.0.0.1になり、外部からアクセスできない。
python manage.py runserver xx.xx.xx.xx:8000
fierwall-cmdでtcp8000を開ける。
http://www.example.com:8000
にアクセス
Hello
と表示される。