Serializer 不会用于创建一些 django 模型的预期目的,但它会用于查询参数验证、创建对 elasticsearch 的过滤查询、描述 API 的 swagger 文档。
from rest_framework import views, serializers, fields
from rest_framework.response import Response
class TestQueryParams(serializers.Serializer):
id = fields.IntegerField(min_value=0)
date = fields.DateField(format='%Y%m%d')
class TestView(views.APIView):
def get(self, request):
qp = TestQueryParams(data=request.query_params)
qp.is_valid(raise_exception=True)
# parameters would not be used to create some model
# but they would be used to get data
return Response({'some': 'data'})
Run Code Online (Sandbox Code Playgroud) 我不确定为什么必须在AWS Direct Connect + VPN设置中使用公共 VIF 。通常,如果您要连接到虚拟专用网关,则应使用私有 VIF,如AWS 托管 VPN中所示。为什么在这种情况下必须使用公共 VIF?
AWS Direct Connect + VPN 示意图:
AWS 托管 VPN 图表:
编辑 1:通过观看AWS re:Invent 2018:AWS VPN 解决方案 (NET304)
获得更好的理解。我们需要公共 VIF,因为 AWS Site-to-Site VPN 在虚拟专用网关上创建两个仅对公共 VIF 可见的公共终端节点。该演讲的图表:

optimization.runtimeChunk运行时块的目的是什么?它有什么目的?如果我正在构建图书馆,使用它有意义吗?
考虑示例:
def func_b(a):
print a
def func_a():
a = [-1]
for i in xrange(0, 2):
a[0] = i
func_b(a)
Run Code Online (Sandbox Code Playgroud)
并尝试测试 func_a 和模拟 func_b 的测试函数:
import mock
from mock import call
def test_a():
from dataTransform.test import func_a
with mock.patch('dataTransform.test.func_b', autospec=True) as func_b_mock:
func_a()
func_b_mock.assert_has_calls([call(0), call(1)])
Run Code Online (Sandbox Code Playgroud)
func_a 执行后,我尝试测试 func_a 是否对 func_b 进行了正确的调用,但由于在 for 循环中我最终改变了列表,我得到:
AssertionError: Calls not found.
Expected: [call(0), call(1)]
Actual: [call([1]), call([1])]
Run Code Online (Sandbox Code Playgroud) 我想问简单函数的目的是什么__get__以及为什么 if 的行为与描述符类不同__get__?
我的调查:
import inspect
def a(x, y):
return x + y
def wr(f):
def wrapper(*args, **kwargs):
print f.__name__, 'called with', args, kwargs
return f(*args, **kwargs)
return wrapper
print inspect.getsource(a)
# def a(x, y):
# return x + y
print inspect.getsource(a.__get__) # we cannot inspect it because it is a method-wrapper
# Traceback (most recent call last):
# ...
# 'function, traceback, frame, or code object'.format(object))
# TypeError: <method-wrapper '__get__' of function object at 0x7fd43591e140> …Run Code Online (Sandbox Code Playgroud) 我读过几篇有关 AWS 安全组的文章:
但无法找到 OSI 层安全组在哪个层运行。也许有人可以帮助我了解他们在哪个 OSI 层运行?