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


とても参考になる動画をみつけたので真似てみたら、それっぽいWebアプリができた!素晴らしい!

https://youtu.be/O037g3NOoXY

動画のPostクラスに画像オブジェクトを追加しようとしたが、オフィシャルドキュメントを読んだがイマイチわからんのでChatGPTに聞いた。

pip install Pillow

    Successfully installed Pillow-10.3.0


from django.db import models


class Post(models.Model):

    title = models.CharField(max_length=255)

    slug = models.SlugField()

    intro = models.TextField()

    body = models.TextField()

    posted_date = models.DateTimeField(auto_now=True)

    image = models.ImageField(upload_to='images/', blank=True, null=True)

     def __str__(self):

        return self.title


python manage.py makemigrations
python manage.py migrate

settings.py に変更:

from pathlib import Path BASE_DIR = Path(__file__).resolve().parent.parent DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } MEDIA_URL = '/media/' MEDIA_ROOT = BASE_DIR / 'media'

from django.conf import settings

from django.conf.urls.static import static

from django.contrib import admin

from django.urls import path


urlpatterns = [

    path('admin/', admin.site.urls),

    # other paths

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)




No comments:

Post a Comment