我需要在 url 中使用韓語,但它不起作用。

視圖.py
class BuildingInfoAPI(APIView):
def get(self, request):
queryset = BuildingData.objects.all()
serializer = BuildingSerializer(queryset, many=True)
return Response(serializer.data)
class ReviewListAPI(APIView):
def get(self, request):
queryset = ReviewData.objects.all()
serializer = ReviewSerializer(queryset, many=True)
return Response(serializer.data)
網址.py
urlpatterns = [
path('admin/', admin.site.urls),
path('api/buildingdata/', BuildingInfoAPI.as_view()),
path('api/buildingdata/<str:slug>/', ReviewListAPI.as_view())
]
我試過 slug:slug 和帶有 re_path 的 url,但這些方法說“找不到頁面”
所以我試過 str:slug 但它說
get() got an unexpected keyword argument 'slug'
這是我的模型中的 slug 資料。
slug = models.SlugField(max_length=50, unique=True, allow_unicode=True, default=uuid.uuid1)
'allow_unicode' 允許在 url 中使用韓語。
我找不到哪個代碼是錯誤的。
views.py或urls.py有什么問題嗎?
uj5u.com熱心網友回復:
對于ReviewListAPI,該.get(…)方法需要接受self,request并slug作為引數:
class ReviewListAPI(APIView):
def get(self, request, slug):
queryset = ReviewData.objects.all()
serializer = ReviewSerializer(queryset, many=True)
return Response(serializer.data)
由于您的.get(…)方法需要一個 slug,您可能應該重寫邏輯并考慮 slug。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/322276.html
