added support for user profiles
This commit is contained in:
parent
eeb74027eb
commit
1f314f1c20
8 changed files with 137 additions and 32 deletions
|
@ -10,14 +10,12 @@ For the full list of settings and their values, see
|
|||
https://docs.djangoproject.com/en/5.1/ref/settings/
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
import os
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/
|
||||
|
||||
|
@ -30,13 +28,13 @@ DEBUG = bool(os.environ.get("DEBUG", default=0))
|
|||
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS", "127.0.0.1").split(",")
|
||||
CORS_ALLOWED_ORIGINS = ["http://localhost:3000"]
|
||||
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
"django.contrib.admin",
|
||||
"django.contrib.auth",
|
||||
"django.contrib.contenttypes",
|
||||
"corsheaders",
|
||||
"django.contrib.sessions",
|
||||
"django.contrib.messages",
|
||||
"django.contrib.staticfiles",
|
||||
|
@ -44,7 +42,7 @@ INSTALLED_APPS = [
|
|||
"rest_framework.authtoken",
|
||||
"knox",
|
||||
"movie_manager",
|
||||
"corsheaders",
|
||||
"users",
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
@ -78,7 +76,6 @@ TEMPLATES = [
|
|||
|
||||
WSGI_APPLICATION = "movienight.wsgi.application"
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/5.1/ref/settings/#databases
|
||||
|
||||
|
@ -95,7 +92,6 @@ DATABASES = {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators
|
||||
|
||||
|
@ -114,7 +110,6 @@ AUTH_PASSWORD_VALIDATORS = [
|
|||
},
|
||||
]
|
||||
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/5.1/topics/i18n/
|
||||
|
||||
|
@ -131,7 +126,6 @@ OMDB_API_KEY = os.environ.get("OMDB_API_KEY")
|
|||
# Django Rest Framework
|
||||
REST_FRAMEWORK = {
|
||||
"DEFAULT_AUTHENTICATION_CLASSES": [
|
||||
#'rest_framework.authentication.SessionAuthentication',
|
||||
"knox.auth.TokenAuthentication",
|
||||
],
|
||||
}
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
URL configuration for movienight project.
|
||||
"""
|
||||
|
||||
import knox
|
||||
from knox import views as knox_views
|
||||
from django.conf import settings
|
||||
from django.conf.urls.static import static
|
||||
from django.contrib import admin
|
||||
from django.urls import path, include
|
||||
from django.conf.urls.static import static
|
||||
from django.conf import settings
|
||||
from rest_framework.authtoken.views import obtain_auth_token
|
||||
from rest_framework.routers import DefaultRouter
|
||||
|
||||
from movie_db import views as movie_db_views
|
||||
from movie_manager.viewsets import (
|
||||
MovieViewset,
|
||||
MovieListViewset,
|
||||
|
@ -17,11 +17,8 @@ from movie_manager.viewsets import (
|
|||
ShowingViewset,
|
||||
)
|
||||
from users import views as user_views
|
||||
from movie_db import views as movie_db_views
|
||||
from rest_framework.authtoken.views import obtain_auth_token
|
||||
|
||||
from users.viewsets.user import register
|
||||
from users.viewsets import UserViewSet, GroupViewSet
|
||||
from users.viewsets.user import register, UserProfileViewSet
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register(r"v1/users", UserViewSet)
|
||||
|
@ -30,13 +27,17 @@ router.register(r"v1/movies", MovieViewset)
|
|||
router.register(r"v1/lists", MovieListViewset)
|
||||
router.register(r"v1/schedules", ScheduleViewset)
|
||||
router.register(r"v1/showings", ShowingViewset)
|
||||
router.register(r"v1/users/profiles/", UserProfileViewSet)
|
||||
|
||||
urlpatterns = [
|
||||
path("", include(router.urls)),
|
||||
path("admin/", admin.site.urls),
|
||||
path(r"v1/auth/token/", obtain_auth_token),
|
||||
path(r"v1/auth/login/", user_views.LoginView.as_view(), name="knox_login"),
|
||||
path(r"v1/auth/register/", register, name="register"),
|
||||
path(r"v1/movies/search", movie_db_views.omdb_search, name="omdb_search"),
|
||||
path(r"v1/auth/", include("knox.urls")),
|
||||
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||
path("", include(router.urls)),
|
||||
path("admin/", admin.site.urls),
|
||||
path(r"v1/auth/token/", obtain_auth_token),
|
||||
path(r"v1/auth/login/", user_views.LoginView.as_view(), name="knox_login"),
|
||||
path(r"v1/auth/register/", register, name="register"),
|
||||
path(r"v1/movies/search", movie_db_views.omdb_search, name="omdb_search"),
|
||||
path(r"v1/auth/", include("knox.urls")),
|
||||
path('v1/users/profile', UserProfileViewSet.as_view({"get": "current_user_profile"}),
|
||||
name="current_user_profile"),
|
||||
path('v1/users/profiles/<str:user__username>/', UserProfileViewSet.as_view({"get": "retrieve"}))
|
||||
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue