所以我在我的 views.py 中传递了一个带有目录的渲染作为参数。像这样的东西:
def foo(request):
return render(request, 'webapp/foo.html', {'key': ['one', 'two', 'three']})
Run Code Online (Sandbox Code Playgroud)
现在我想在我的 HTML 文件中使用 Jinja 从目录值中获取一个元素,让我们先说。我所知道的只是如何使用 for 循环获取所有元素:
{% block content %}
{% for val in key %}
<p> {{ val }} </p>
{% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
我的问题是是否有这样的事情?
{% block content %}
<p> {{ key[0] }} </p>
{% endblock %}
Run Code Online (Sandbox Code Playgroud) 我决定在Python的FastApi框架中制作一个微服务网关。drf-yasg我的授权服务是用 Django 编写的,并且已经由包 swagger 文档生成。我在想是否有一种方法可以将身份验证的模式导入网关。我可以通过 http 格式提供模式json并从网关访问它。问题是如何将 FastApi 的文档与原始 swagger 模式文件集成。
我正在使用 Django Rest Framework 作为我的 API 服务。在我的 settings.py 中,我有以下 REST_FRAMEWORK 设置:
REST_FRAMEWORK = {
...
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated'
)
...
}
Run Code Online (Sandbox Code Playgroud)
现在我想更改权限类别以允许任何人使用一个视图。我使用了 @permission_classes 装饰器。
class UserViewSet(viewsets.ModelViewSet):
serializer_class = RegisterSerializer
queryset = User.objects.all()
@permission_classes([permissions.AllowAny,])
def create(self, request, *args, **kwargs):
data = request.data
...
Run Code Online (Sandbox Code Playgroud)
我应该能够在没有任何权限的情况下执行创建操作。相反,当我尝试访问 API 时收到身份验证错误。
"detail": "Authentication credentials were not provided."
Run Code Online (Sandbox Code Playgroud)
根据文档@permission_classes 装饰器是这种权限覆盖的正确方法。这是 Django 2.2.4 和 DRF 3.10.2。
我忘了提及,我不想允许任何人访问任何视图,而只允许访问所选的视图。大多数视图应该具有全局设置的 IsAuthenticated 权限。