[Series 1.DashBoard作成]-7ビューの作成(2)


今回のリリースでは、ViewのCRUD処理を追加し、django/restframeworkのユーザー登録に関連するモジュールを追加して、権限処理の最小限の準備を行います.

ユーザーメンバー登録/ログイン機能の追加

djangoでは、restframeworkというAPI開発ライブラリを追加することで、会員関連機能を簡素化することができる.
まず、pipクマンを使用して必要なライブラリをインストールします.
次のコマンドを実行します.pip install django-allauth pip install django-rest-auth正常にインストールされている場合は、settings.pyから
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'rest_auth',
    'rest_auth.registration',
INSTALLED_APPSアレイに追加
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',

    'rest_framework',

    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'rest_auth',
    'rest_auth.registration',

    'dashboard_core',
]
次に、ユーザがアクセスする登録に関連するURLをマッピングする.velog_series_01/dashboard/dashboard/urls.pyファイルを開き、次のように編集します.
from django.contrib import admin
from django.urls import include, path
from rest_framework.routers import DefaultRouter
from dashboard_core.views import PostViewSet

router = DefaultRouter()
router.register(r"posts", PostViewSet, basename="post_status")

urlpatterns = [
    path('', include(router.urls)),
    path('admin/', admin.site.urls),
    path('api-auth/', include('rest_framework.urls')),
    path('rest-auth', include('rest_auth.urls')),
    path('rest-auth/registration', include('rest_auth.registration.urls')),
]
会員登録に関連するアプリケーションがインストールされ、対応するモデルが自動的に追加されるため、DBと同期するにはMigrateが必要です.
次のコマンドを実行します.python manage.py migrate
成功するよ!
最後に、settings.pyファイルの下部に、会員認証方式の設定とサイト番号を追加します.
REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ]
}

SITE_ID = 1
サーバを実行し、http://127.0.0.1:8000/に接続します.

右上隅にLoginボタンが表示されます.
ボタンを押して、管理者アカウントでログインしてください.

ログイン後、Post URLに移動します.

次は会員登録ステータスで、Postモデルに新しい投稿を作成できます.

以下のプレゼンテーションでは、登録可能なユーザの画面を簡単に構成し、Postモデルの登録権限に関連付けてCRUD APIを作成します.
Thank you!