我刚开始学习numpy了解numpy的scipy教程.我的问题与广播何时发生有关.
如本教程中所建议的,如果两个数组遵循某些条件,则它们是兼容的,例如:
我的问题是,假设我有以下两个数组:
import numpy as np
c1 = np.arange(10).reshape(2,5)
c2 = np.arange(8).reshape(2,4,1)
c3 = c1-c2
Run Code Online (Sandbox Code Playgroud)
但上面的操作给我兼容/广播错误如下:
ValueError: operands could not be broadcast together with shapes (2,5) (2,4,1)
Run Code Online (Sandbox Code Playgroud)
当我用笔和纸图解地表示这两个数组时,我得到了无法执行的操作,但是我无法从上面提到的教程中了解如何在数组上没有成功执行操作.请帮我理解.
我知道这是基本的东西,但这对我的理解很有帮助.
问候
我正在尝试为基于Web2py构建的一些REST API实现基于令牌的身份验证.我使用的是2.14.6版(稳定版).如文档中所述,我按照这些步骤操作,并能够使用JWT从受身份验证的资源中验证和检索数据.我已完成以下步骤:
from gluon.tools import AuthJWT
myjwt = AuthJWT(auth, secret_key='secret', user_param="email")
def login_take_token():
return myjwt.jwt_token_manager()
@myjwt.allows_jwt()
@auth.requires_login()
def get_my_service():
my_code
Run Code Online (Sandbox Code Playgroud)
因此,使用此配置,我可以在调用函数"login_take_token"时获取令牌,并从"get_my_service"获取所需数据.以下是服务电话:
/app/controller/login_take_token?email=abc.com&password=abc123
Run Code Online (Sandbox Code Playgroud)
这给我们一个令牌说
/app/controller/get_my_service?_token=<TOKEN_RECEIVED>
Run Code Online (Sandbox Code Playgroud)
这会在成功登录时返回所需的预期数据.
我的问题是,正如web2py文档中所解释的,如果令牌过期,我们可以使用令牌并调用login_take_token以获取新的活动令牌.但是这个下面的调用不返回任何令牌,但只返回400 Bad Request,输出"Token is expired".
/app/controller/login_take_token?_token=<TOKEN_RECEIVED>
Run Code Online (Sandbox Code Playgroud)
如何使用旧令牌(已过期)进行调用以获取新令牌.
问候