我在我的Django网络应用程序中使用Google Speech API.我已经为它设置了一个服务帐户,并且能够在本地进行API调用.我已将本地GOOGLE_APPLICATION_CREDENTIALS环境变量指向服务帐户的json文件,该文件包含所有凭据.
我试过GOOGLE_APPLICATION_CREDENTIALS通过运行来设置heroku的环境变量
$ heroku config:set GOOGLE_APPLICATION_CREDENTIALS="$(< myProjCreds.json)"
$ heroku config
GOOGLE_APPLICATION_CREDENTIALS: {
Run Code Online (Sandbox Code Playgroud)
^^它"在json文件的第一次出现时终止,紧接在{
和之后
$ heroku config:set GOOGLE_APPLICATION_CREDENTIALS='$(< myProjCreds.json)'
$ heroku config
GOOGLE_APPLICATION_CREDENTIALS: $(< myProjCreds.json)
Run Code Online (Sandbox Code Playgroud)
^^该命令被保存到环境变量中
我尝试将heroku的GOOGLE_APPLICATION_CREDENTIALSenv变量设置为服务帐户的json文件的内容,但它不起作用(因为显然此变量的值必须是json文件的绝对路径).我发现它授权一个开发者账户,而无需加载JSON户头,而使用的方法GOOGLE_ACCOUNT_TYPE,GOOGLE_CLIENT_EMAIL和GOOGLE_PRIVATE_KEY.这是GitHub的讨论页面.
我想为我的Django网络应用程序提供类似(或不同的东西)的东西,我想避免将json文件上传到我的Django web-app的目录(如果可能),以确保安全.
django heroku environment-variables google-authentication google-speech-api
我有一个numpy数组,其中包含使用findNonZero()OpenCV方法获得的坐标.我想对它们进行排序以绘制轮廓.
示例未排序的numpy数组(不是坐标):
[[ 0, 2],
[ 0, 0],
[-1, 8],
[-6, 7],
[-1, 1]]
Run Code Online (Sandbox Code Playgroud)
预期排序的numpy数组:
[[-6, 7],
[-1, 1],
[-1, 8],
[ 0, 0],
[ 0, 2]]
Run Code Online (Sandbox Code Playgroud)
我希望数组根据第一列进行排序,如果第一列中的值相等,我希望它根据第二列进行排序.有没有办法以最少的时间复杂度这样做,因为处理要在云上完成?
我正在尝试使用模型表单在 Django 中创建一个表单,但我遇到了一个问题。以下是我在 forms.py 中的代码,它有一个IntegerField(),我想为它设置一个自定义 id 和类,但我无法attrs在小部件的帮助下这样做,IntegerField()而CharField()它的工作原理。
forms.CharField(widget=forms.CharField(attrs={'id': 'customID'}))有效但
hours = forms.IntegerField(widget=forms.IntegerField(attrs={'id': 'blah', }))没有。
表格.py
class TimerForm(forms.ModelForm):
hours = forms.IntegerField(required=True, min_value=0, widget=forms.IntegerField(attrs={'id': 'blah', }))
class Meta:
model = Timer
fields = ['hours']
Run Code Online (Sandbox Code Playgroud)
cmd错误:
超级(整数字段,自我)。init (*args, **kwargs)
TypeError: init () 得到一个意外的关键字参数 'attrs'