TypeError at /blog/999/ post() got an unexpected keyword argument 'pk' 에러 발생

itisny·2023년 10월 10일
0
post-custom-banner

🚨문제

📢 에러 발생

TypeError at /blog/999/
post() got an unexpected keyword argument 'pk'

⚡ 에러난 코드

def post(request):
    return render(request, 'blog/post.html')

🔎원인

from django.urls import path
from . import views

urlpatterns = [
  path('', views.blog, name='blog'),  # blog/
  path('<int:pk>/', views.post, name='post'),  # blog/1, blog/2, blog/3, ..
]

post 함수에 pk 인자를 안넣어 줘서 '<int:pk>/'를 받아오지 못했다.

<int:pk>는 URL의 해당 부분을 해당 이름의 매개변수로 뷰에 전달합니다.
📌 출처 : <int:pk> whats this does???

💡해결

def post(request, pk):
    return render(request, 'blog/post.html')

❗ 팁

  1. urls.py에 path('<int:pk>/', views.post, name='post'), <int:pk> 확인
  2. views.py에 pk 인자를 넣었는지 확인
def post(request, pk):
    return render(request, 'blog/post.html')
post-custom-banner

0개의 댓글