[13 | ユーザー登録] << [ホーム] >> [15 | 飲食店 表示]
Django側(qrmenu_server)の実装を行います。
Visual Studio Codeで「qrmenu_server」を開きます。
「qrmenucore」フォルダの「models.py」ファイルを開きます。
記述編集 【Desktop/QRMenu/qrmenu_server/qrmenucore/models.py】
from django.db import models from django.contrib.auth.models import User # Create your models here. class Place(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE) name = models.CharField(max_length=255) image = models.CharField(max_length=255) number_of_tables = models.IntegerField(default=1) def __str__(self): return "{}/{}".format(self.owner.username, self.name)
マイグレーションファイルを作成します。
コマンド
python manage.py makemigrations
マイグレートします。
コマンド
python manage.py migrate
「qrmenucore」フォルダに「serializers.py」ファイルを新規作成します。
新規作成した「serializers.py」ファイルを以下のように編集します。
新規作成 【QRMenu/qrmenu_server/qrmenucore/serializers.py】
from rest_framework import serializers from . import models class PlaceSerializer(serializers.ModelSerializer): class Meta: model = models.Place fields = ('id', 'name', 'image')
「qrmenu_core/views.py」ファイルを以下のように編集します。
記述編集 【QRMenu/qrmenu_server/qrmenucore/views.py】
from rest_framework import generics from . import models, serializers # Create your views here. class PlaceList(generics.ListCreateAPIView): serializer_class = serializers.PlaceSerializer def get_queryset(self): return models.Place.objects.filter(owner_id=self.request.user.id) def perform_create(self, serializer): serializer.save(owner=self.request.user)
Pathの設定をします。
「qrmenu_server/urls.py」ファイルを以下のように編集します。
記述追加 【QRMenu/qrmenu_server/qrmenu_server/urls.py】
from django.contrib import admin from django.urls import path, include from qrmenucore import views urlpatterns = [ path('admin/', admin.site.urls), path('auth/', include('djoser.urls')), path('auth/', include('djoser.urls.authtoken')), path('api/places/', views.PlaceList.as_view()), ]
管理画面の実装を行います。
「qrmenucore/admin.py」ファイルを以下のように編集します。
記述編集 【qrmenucore/admin.py】
from django.contrib import admin from . import models # Register your models here. admin.site.register(models.Place)
Webサーバーを起動します。
コマンド
python manage.py runserver
ブラウザ確認
http://127.0.0.1:8000/admin/
Placesが追加になっています。
飲食店を追加します。
imageフィールドには適当な画像のURLを入れてください。
3つくらい飲食店を登録しておいてください。
↓↓クリックして頂けると励みになります。
[13 | ユーザー登録] << [ホーム] >> [15 | 飲食店 表示]