from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
)
urlpatterns = [
path('api/token/', TokenObtainPairView.as_view(), name='...'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='...'),
]
adminํ์ด์ง๋ ์ฌ์ฉ์ํ๋๊น ์ง์ฐ๋ ๊ฒ ๋ ์ข์(import๋ถ๋ถ๋ ์น๊ฐ์ด-์ง๊ธ ์ง์ด์ํ์)
admin๊ณ์ ๋ง๋ค๊ธฐ
python manage.py createsuperuser
postman์ผ๋ก ๋ก๊ทธ์ธ ์์ฒญ ๋ณด๋ด๊ธฐ
from django.urls import path
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
)
urlpatterns = [
path('api/token/', TokenObtainPairView.as_view(), name='tokenobtain'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='tokenrefresh'),
]
๐ก ์๊ฒ๋ ๊ฒ
# ์ฌ์ฉ์๊ฐ ์
๋ก๋ํ๋ ์ด๋ฏธ์งํ์ผ
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# ์นํ์ด์ง ๊ตฌ์ฑ์ ํ์ํ ์ด๋ฏธ์งํ์ผ
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
class ArticleSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields ='__all__'
โก fields ๊ฐ all์ผ ๋ ๋ชจ๋ ํ๋ ์ถ๋ ฅํจ
class ArticleListSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields =('pk','title','image','updated_at','user')
โก ์ง์ ํ ํ๋๋ง ์ถ๋ ฅ๋จ
โก def get_ํ๋(self, ๋ชจ๋ธ):
return ๋ชจ๋ธ.ํ๋.์ถ๋ ฅ๋๊ธธ ์ํ๋ ๋ค๋ฅธ ํ๋
postman์์ postํ ๋ ๊ผญ ์ ๋ ฅ๊ฐ์ด ํ์ํ ํ๋(user)๊ฐ ์์ด์ ์ ๋ ฅ๊ฐ์ด ์ ์ ์ก๋๋์ง ํ์ธ์ด ์ด๋ ค์
{
"user": [
"This field is required."
]
}
1) postman-environment์์ access token ๋ฐ๊ธ๋ฐ์์ initial value, current value์ ๋ฃ๊ณ ์ ์ฅ -> {{token}}์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅ (์ด๊ฑด ๊ทธ๋ฅ ํ๊ฒฝ์ค์ ํ๋ ๋ฐฉ๋ฒ์)
2) ์ ์ ํ๋๊ฐ required๊ฐ ์๋ ์๋ก์ด ์๋ฆฌ์ผ๋ผ์ด์ ๋ฅผ ๋ง๋ค์ด์ ์ ์ฉ! ์์์ ํ๋ ๊ฒ์ฒ๋ผ ํ๋๋ฅผ ๊ณจ๋ผ์ ๋ฃ์ด์ฃผ๋ฉด ๋จ ์ด๊ฐ๋จ
body - form-data ์์
์ค์ ํ ํ๋๊ฐ์ ๋ชจ๋ value์ ๋ฃ์ด์ฃผ๊ณ image๋ type: file ์ ํ ํ ์ ์กํ๋ฉด ok
โก db์์ ํ์ธ๊ฐ๋ฅ/ mediaํด๋์์๋ ์ด๋ฏธ์ง ์ ์ฅ๋ ๊ฒ ํ์ธ ๊ฐ๋ฅ
๋ชจ๋ธ ์ด๋ฏธ์งํ๋ ์์ upload_to='%y%m%d'ํ๋ฉด ๊ฒฝ๋ก ์์ ๋ ์ง ํด๋๊ฐ ์๊ฒจ์ ๊ทธ ์์ ์ ์ฅ๋จ
ModuleNotFoundError: No module named 'artticles'
โก settings.py/ INSTALLED_APPS์ ์ด๋ฆ ์๋ชป์จ๋์
token is invalid
refresh token์ผ๋ก access token ์ฌ๋ฐ๊ธ๊น์ง ๋ฐ์๋๋ฐ๋?? ๊ณ์ ์๋๋ค... ๋๋ฌด.. ํ๋ค๋ค..
๊ป๊ป...... local์ variable์ ์ถ๊ฐํด์ผ๋๋๋ฐ ํ ํฐ์ด๋ผ๋ ํ๊ฒฝ์ ์๋ก ๋ง๋ค๊ณ ์ฌ์ง์ด ์ฌ์ฉ๋ ์ํด์ ์ฒดํฌ๋ ์๋ผ์์ ใ ใ ใ ใ ... ํ๋๋ฌ.. ์ฌ์ฉํ ์ ์์ผ๋ฉด {{ token }}์๊น์ด ๋คํ์์ด ๋๋๋ฐ ๋์น ์ฑ์ด์ผ์ง..