↓↓クリックして頂けると励みになります。
【14 | プロフィール】 << 【ホーム】 >> 【16 | アバター】
画像を読み込んで自由に編集できる機能「Pillow」をインストールします。
コマンド
pip install Pillow==10.0.0
バージョンを確認します。
コマンド
pip freeze > requirements.txt
バージョン確認 【Desktop/crowdsource/requirements.txt】
asgiref==3.7.2 beautifulsoup4==4.12.2 certifi==2023.7.22 cffi==1.15.1 charset-normalizer==3.2.0 cryptography==41.0.3 defusedxml==0.7.1 Django==3.2.20 django-bootstrap4==2.3.1 idna==3.4 oauthlib==3.2.2 Pillow==10.0.0 pycparser==2.21 PyJWT==2.8.0 python3-openid==3.2.0 pytz==2023.3 requests==2.31.0 requests-oauthlib==1.3.1 six==1.16.0 social-auth-app-django==4.0.0 social-auth-core==4.4.2 soupsieve==2.5 sqlparse==0.4.4 typing_extensions==4.7.1 urllib3==2.0.4
「core/models.py」ファイルを編集します。
記述編集 【Desktop/crowdsource/core/models.py】
from django.db import models from django.contrib.auth.models import User # Create your models here. class Customer(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) avatar = models.ImageField(upload_to='customer/avatars/', blank=True, null=True) def __str__(self): return self.user.get_full_name()
マイグレーションファイルを作成します。
コマンド
python manage.py makemigrations
マイグレーションを適用します。
コマンド
python manage.py migrate
「core/admin.py」ファイルを編集します。
記述編集 【/Users/heyjude/Desktop/crowdsource/core/admin.py】
from django.contrib import admin from . import models # Register your models here. admin.site.register(models.Customer)
管理画面にCustomerが追加されているのを確認します。
Middlewareを実装します。
「crowdsource/core」フォルダに「middleware.py」ファイルを新規作成します。
新規作成 【Desktop/crowdsource/core/middleware.py】
from .models import Customer class ProfileMiddlware: def __init__(self, get_response): self.get_response = get_response # One-time configuration and initialization. def __call__(self, request): # Code to be executed for each request before # the view (and later middleware) are called. if request.user.is_authenticated and not hasattr(request.user, 'customer'): Customer.objects.create(user=request.user) response = self.get_response(request) # Code to be executed for each request/response after # the view is called. return response
「crowdsource/settings.py」ファイルを編集します。
記述追加 【Desktop/crowdsource/crowdsource/settings.py】55行目
MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'social_django.middleware.SocialAuthExceptionMiddleware', 'core.middleware.ProfileMiddlware', #追加 ]
登録ユーザーからCustomerに追加できることを確認してください。
↓↓クリックして頂けると励みになります。
【14 | プロフィール】 << 【ホーム】 >> 【16 | アバター】