Sunday, May 19, 2024

Django + venv on Amazon Linux 2023 でアプリを作ってみた

 

sudo yum update

sudo yum install python3-pip

sudo pip3 install virtualenv


mkdir ~/shiroproject

cd ~/shiroproject

python3 -m venv myvenv

source myvenv/bin/activate             止めるときは deactivate だけ


pip install django


django-admin startproject my_first_matplot ~/shiroproject

settings.py にALLOWED_HOSTS = ['35.175.86.54']


~/shiroproject/manage.py runserver 0.0.0.0:8000 << 立ち上がるがmigrateしろと怒られる


ここからチュートリアルと同じ

python manage.py startapp polls


Thursday, May 9, 2024

Djangoにmatplotlibで円グラフ表示

Amazon Linux 2023 で再度トライ

sudo yum update

sudo yum install python3-pip

pip install django

python3 -m django --version

pip3 install matplotlib

django-admin startproject mymatplotlibsite

settings.py の ALLOWED_HOSTS = ['34.229.238.162']を編集

python3 manage.py runserver 0.0.0.0:8000 疎通確認

python3 manage.py startapp myfirstplot 

この後、views.py に下記をかいて表示させて確認(チュートリアル1参考)

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

今回はグラフを表示させたいだけなのでモデルは必要ないと思うがmodels.pyをチュートリアルと同じように作成(使わない前提)

アプリケーションをプロジェクトに含める(settings.py)

INSTALLED_APPS = [
    'myfirstplot.apps.MyfirstplotConfig',

python3 manage.py makemigrations myfirstplot
python3 manage.py sqlmigrate myfirstplot 0001
python3 manage.py migrate

モデルクラスにクラスメソッドを追加

adminサイトにログインできるユーザーを作成

python3 manage.py createsuperuser

myfirstplot/admin.py を編集

Wednesday, May 8, 2024

djangoproject.com のチュートリアル

djangoproject.com のチュートリアル(日本語が選べれるのが素晴らしい)

先日作ったEC2インスタンス上でvenv をもう一度(混乱したため。。。

mkdir ~/myprojectdir2

cd ~/myprojectdir2

python3 -m venv myprojectenv

source myprojectenv/bin/activate

pip install django gunicorn psycopg2-binary

django-admin startproject mysite ~/myprojectdir2

settings.py にALLOWED_HOSTS = ['35.175.86.54']

ここからチュートリアル

~/myprojectdir2/manage.py runserver 0.0.0.0:8000 << 立ち上がるがmigrateしろと怒られる

python manage.py startapp polls

下記のファイルにチュートリアルに従って編集・追加
polls/views.py
polls/urls.py
mysite/urls.py

python manage.py migrate

mysite/settings.py編集

python manage.py makemigrations polls

python manage.py sqlmigrate polls 0001

python manage.py migrate

python manage.py createsuperuser

polls/admin.py 編集





Part2 まで完了。EC2上でアプリが動いてます!

次の日 part 3 完了。下記のリンクにテンプレートのことが詳しく:
https://docs.djangoproject.com/ja/5.0/topics/templates/

Monday, May 6, 2024

Django + venv on Amazon Linux 2023

 Digital Ocean のチュートリアルがうまく動かないので Amazon Linux 2023 で再度トライ


sudo yum update

sudo yum install python3-pip

sudo pip3 install virtualenv

virtualenv your_project_name

source your_project_name/bin/activate

deactivate

ここからDitalOceanの続きをしようとpip install django gunicorn psycopg2-binaryしたがすでにある?

DitalOceanの"myprojectdir"が"myproject"

Step4から

django-admin startproject mysurvey ~/myproject

DitalOceanの"myproject"が"mysurvey"

~/myproject/manage.py makemigrations

~/myproject/manage.py migrate


~/myproject/manage.py createsuperuser

~/myproject/manage.py collectstatic

sudo ufw allow 8000 << 通らなかったが今回は無視

~/myproject/manage.py runserver 0.0.0.0:8000

インスタンスに穴をあける



開通!