我的网址模式如下所示:
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
re_path('.*', IndexView.as_view()),
]
Run Code Online (Sandbox Code Playgroud)
这有效,但它匹配所有URL,包括那些以admin和为前缀的 URL api。我希望这些 URL 仍然匹配,并希望任何不匹配的 URL 呈现IndexView.
在 2.0 之前,我为此使用了这个正则表达式。我尝试使用它,re_path但没有用,这就是导致我尝试上述方法的原因。
url(r'^(?P<path>.*)/$', HtmlView.as_view())
Run Code Online (Sandbox Code Playgroud)
用例是我处理 404s 客户端的 SPA。
提前谢谢了。
因此,我需要在客户端的自定义管理屏幕中显示用户列表及其各个组。我正在 Lambda 函数中返回结果AWS.CognitoIdentityServiceProvider.listUsers,并且可以很好地列出用户,但我不确定为每个用户获取组并将其添加到响应中的最佳方法。
对我来说,他们没有提供类似 listUsers 的方法来包含该信息,就个人而言,这似乎有点令人惊讶,因为这似乎是一个常见的用例。以前有人解决过这个问题吗?我有一个可行的解决方案,但它看起来很老套,而且可能性能不高,所以我正在寻找更有效的解决方案。
看来我的选择是要么获取用户池中的每个组并调用AWS.CognitoIdentityServiceProvider.listUsersInGroup每个组,然后循环遍历所有用户listUsers并检查他们是否属于这些组中的任何一个,或者循环遍历响应中的每个用户listUsers并AWS.CognitoIdentityServiceProvider.adminListGroupsForUser调用他们每个人。这些是我唯一的选择吗?第一个选项似乎效率稍高,因为组数少于用户数,因此 API 调用也会减少,但看起来这仍然非常低效。
这是我正在使用的filterset的一个略微简化的例子,我正在使用DjangoFilterBackend for Django Rest Framework.我希望能够发送请求/api/bookmarks/?title__contains=word1&title__contains=word2并返回包含两个单词的结果,但是当前它忽略了第一个参数并且只忽略了word2的过滤器.
任何帮助将非常感谢!
class BookmarkFilter(django_filters.FilterSet):
class Meta:
model = Bookmark
fields = {
'title': ['startswith', 'endswith', 'contains', 'exact', 'istartswith', 'iendswith', 'icontains', 'iexact'],
}
class BookmarkViewSet(viewsets.ModelViewSet):
serializer_class = BookmarkSerializer
permission_classes = (IsAuthenticated,)
filter_backends = (DjangoFilterBackend,)
filter_class = BookmarkFilter
ordering_fields = ('title', 'date', 'modified')
ordering = '-modified'
page_size = 10
Run Code Online (Sandbox Code Playgroud) python django django-filter django-filters django-rest-framework