id(トークン)とid(トークン)のないコンテンツを表示するためにビューにURLを1つだけ使用する方法はありますか?例えば、トークンが提供されない場合、ユーザのプロファイルのリストを表示するビューがあり、そうでない場合、渡されたトークンを特定のユーザに示す。ここでidがあり、idがないビューのURLが1つ
は、URLがこの
url(
r'^users/$',
views.UserList.as_view(),
name="user_list"
),
url(
r'^users/(?P<token>[0-9a-z]+)$',
views.UserList.as_view(),
name="user_profile"
),
ようなものになるウィルビュー
def get(self, request, token=None, format=None):
"""
Returns a list of profile of user or single user if token is provided
"""
reply={}
try:
profile_instance = Profile.objects.filter(user=self.request.user)
if token:
profile = profile_instance.get(token=token)
reply['data'] = self.serializer_class(profile).data
else:
reply['data'] = self.serializer_class(profile_instance, many=True).data
except:
reply['data']=[]
return Response(reply, status.HTTP_200_OK)
だけ1つのURLを持ってする方法はありますか?
あなたはそのためのdjango restフレームワークでビューセットを使用する必要があります –