django - Django 为 rest APIView 捕获的可选 URL 值
问题描述
对于使用 django_rest_framework 的以下 Django 代码:
class PollMessageView(generics.ListAPIView):
serializer_class = MessageSerializer
lookup_url_kwarg = 'count'
def get_queryset(self):
count = self.kwargs.get(self.lookup_url_kwarg)
queryset = Message.objects.all()[:count]
return queryset
urlpatterns = [
path('poll_message/<int:count>', PollMessageView.as_view(), name="poll_message"),
]
如何count
在 URL 模式中使参数可选?例如,如果我访问时/poll_message/
没有计数,它仍然会调用 PollMessageView(count
如果它丢失,我可以设置一个默认数字)?
解决方案
创建一个新路径,
urlpatterns = [
path('poll_message/', PollMessageView.as_view(), name="poll_message-wo-count"),
path('poll_message/<int:count>', PollMessageView.as_view(), name="poll_message"),
]
推荐阅读
- octobercms - 如何从树枝过滤器渲染组件?
- angular - 如何使用 formBuilder 在单击带有验证和初始值的按钮时创建新表行
- android - 用 IDE 等特定单词为文本着色
- swift - macOS Privileged Helper 无权访问文件系统路径?
- azure - 使用 Azure 服务总线向客户端发送消息 - 主题
- cxf - Log soap request and response using apache-cxf
- angular - Angular 库(具有功能导入支持 import {a1} from 'my-lib/1a' )
- ios - WKWebView: Use same delegate code (WKNavigationDelegate) in multiple view controllers
- python - 如何创建批量剪切音频的方法?
- python - numpy nanmean () 'float' object has no attribute 'dtype' error