我在运行python脚本时收到此错误:
TypeError: cannot concatenate 'str' and 'NoneType' objects
Run Code Online (Sandbox Code Playgroud)
我很确定'str'意味着字符串,但我不知道'NoneType'对象是什么.我的脚本在第二行开始了,我知道第一行是有效的,因为来自该行的命令在我的asa中,正如我所期望的那样.起初我以为可能是因为我在send_command中使用变量和用户输入.
'CAPS'中的所有内容都是变量,'小写'中的所有内容都是从'parser.add_option'选项输入的.
我正在使用pexpect和optparse
send_command(child, SNMPGROUPCMD + group + V3PRIVCMD)
send_command(child, SNMPSRVUSRCMD + snmpuser + group + V3AUTHCMD + snmphmac + snmpauth + PRIVCMD + snmpencrypt + snmppriv)
Run Code Online (Sandbox Code Playgroud) 当我通过 @api_view装饰器。
我的自定义 API 视图如下所示:
@api_view(['GET'])
def TestView(request):
print(request.META)
return Response({'message': 'test'})
Run Code Online (Sandbox Code Playgroud)
我期待的是做类似的事情
curl --request GET \
--url http://localhost:8000/test \
--header 'custom: test'
我会看到我的自定义标题custom出现在输出中。相反,它根本不存在。从文档中,它对 request.META 字段表示以下内容:
A dictionary containing all available HTTP headers. Available headers depend on the client and server, but here are some examples:
Run Code Online (Sandbox Code Playgroud)
然而,它们根本没有出现在我的输出中。我在这里错过了什么吗?
如果相关,我将我的 URL 注册为:
urlpatterns = [url(r'test', views.TestView, name='test'), ...]
我的最终目标是编写一个自定义权限类,该类将解析自定义标头并使用它执行与身份验证相关的操作,并允许或拒绝请求。我在这里的 POC 只是为了展示我正在处理的基本示例。我可以提供输出,print(request.META)但它只是一堵没有我预期标题的文本墙。