是否有办法只使用一个URL来显示带有id(令牌)和没有id(令牌)的内容。例如,如果未提供令牌,则存在显示用户的配置文件列表的视图,否则显示具有传递的令牌的特定用户。
这是一个视图
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)
网址将是这样的
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"
),
有没有办法只有一个网址?
答案 0 :(得分:1)
当然,有办法。只需将if (RedisConn == null)
{
ConfigurationOptions option = new ConfigurationOptions
{
AbortOnConnectFail = false,
EndPoints = { redisEndpoint }
};
RedisConn = ConnectionMultiplexer.Connect(option);
}
url参数设为可选。像这样:
token
请注意尾随url(r'^users/(?P<token>[0-9a-z]+)?$', views.UserList.as_view(), name='user_profile'),
,表示?
的0或1个匹配。如果提供了token
那么它将是提供的值(显然!)。如果没有,则为token
。