目前,我正在尝试使用Cognito Aws Service为我的网络应用程序实现社交登录。但我不想将用户重定向到 Cognito托管 UI进行社交登录。
所以我使用react-google-login作为Google登录,并且我也获得了回调访问令牌
<GoogleLogin
clientId="xxxxxxxxxxxxxx.apps.googleusercontent.com"
buttonText="Login"
onSuccess={this.responseGoogle}
onFailure={this.responseGoogleFailure}
cookiePolicy={'single_host_origin'}
/>
responseGoogle = async (response) => {
console.log("response..........", response);
const user = {
name: response.profileObj.name,
email: response.profileObj.email
};
let expires_at = 3600 * 1000 + new Date().getTime()
Auth.federatedSignIn('google', { token: response.tokenId, expires_at }, user).then(credentials => {
console.log(credentials);
});
}
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了 Cognito 会话值,但不会在用户池中创建用户。
我进行了很多搜索,但没有找到任何解决方案。我已经在下面的链接中提到了它涉及我的问题。基本上我不想为 SocialLogin 使用托管 UI。
预先感谢
我正在使用木偶戏.我想获取表的列名的值.
<tbody>
<tr class="GridHeader" align="center" style="background-color:Black;">
<td class="HeaderStyleOfdatalist">XYZ</td>
<td>0500</td>
<td>0550</td>
<td>0600</td>
<td>0650</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
我需要得到的是这些td值的数组.我试过页面.$(选择器)但无法理解输出.我也尝试过:
let idAttribute = await page.$eval('.GridHeader', e => e.childNodes);
console.log(idAttribute)
Run Code Online (Sandbox Code Playgroud)
但是无法获得这些td值的数组.
你能不能请我帮我循环这些价值观.
编辑:找到问题的答案并将其发布在答案部分.
我有三个型号.
class A(models.Model):
status = models.PositiveSmallIntegerField()
status_time = models.DateTimeField(auto_now_add=True)
b = models.ForeignKey(B)
d=models.ForeignKey(D)
class B(models.Model):
***other Fileds*****
c = models.OneToOneField(C)
***other fields***
class C(models.Model):
c_name = models.CharField(max_length=9,unique=True)
Run Code Online (Sandbox Code Playgroud)
我想执行一个查询,我可以获得所有的c_name.
SELECT * FROM A inner join B on A.b_id=B.id inner join
C on B.c_id=C.id where A.d_id=1 and A.status=6
Run Code Online (Sandbox Code Playgroud)
谁能请帮忙怎么做.我在这里发现了一个类似的问题,但对于像我这样的新手来说理解起来太复杂了.为了任何帮助,你已经非常了解你.
在我的viewSet中,我正在进行查询,
queryset= Books.objects.all();
Run Code Online (Sandbox Code Playgroud)
现在从ajax调用我从UI获得我的过滤器值,即auther的年龄,性别等.总共将有5个过滤器.
现在我遇到的问题是如何向查询添加过滤器(只有那些具有任何值的过滤器).
我尝试的是我检查了单个过滤器值并进行了查询,但这样就失败了,就像用户删除过滤器值或添加多个过滤器一样.任何更好的建议如何实现这一目标?
我有一个 Django 模板,它有多个<a>标签。
<a class="label label-success" href="get_status/?token={{book.token}}">Update</a>
Run Code Online (Sandbox Code Playgroud)
单击它时,会调用视图中的一个方法,我可以在其中从 url 访问令牌,如下所示
tkn = request.GET.get('token')
Run Code Online (Sandbox Code Playgroud)
但现在我不想在网址中发送令牌。
我搜索了这个并了解了表格,但我并不清楚它们。任何人都可以在这里帮忙吗?
我想在Ubuntu上安装最新的节点(在编写本文时为v6.2.0).但就像我一样
sudo apt-get nodejs
Run Code Online (Sandbox Code Playgroud)
这已安装v0.10.37.
你能帮我安装最新版本的node js和npm最新版本吗?
我想知道如何在django中定义一些常量并在view.py函数中使用它们.我有一些永远不会改变的变量,并且很多时候都在函数中使用.所以我决定将它们定义为常量.
如果任何人可以帮助我声明常量以及如何在views.py中的函数中导入和使用它们
编辑:
constant.py
total_range='A1:C15'
Run Code Online (Sandbox Code Playgroud)
view.py
from constant import *
def myFunction():
***Code to access google spreadsheet**
cell_value_list=worksheet.range(total_range)
Run Code Online (Sandbox Code Playgroud)
这里它给我一个错误,说没有定义total_range.
在我的 django 应用程序中,我定义了一个 ViewSet,它有一个 get_queryset 方法,如下所示:
class SampleViewSet(ReadOnlyModelViewSet):
serializer_class = SampleSerializer
permission_classes = (IsAuthorizedToAccess, )
def get_queryset(self):
queryset = Sample.objects.filter(submitted_by=self.request.user.id)
queryset1 = Sample.objects.filter(submitted_by!=self.request.user.id)
return queryset
Run Code Online (Sandbox Code Playgroud)
这样我有两个查询集对象,第一个是用户提交的示例,第二个是其他用户提交的示例。这个 SampleViewSet 是从 ajax 请求调用的,我在其中使用返回的查询集对象。
您能帮助我如何退回这两个对象吗?
我尝试的是打印查询集对象,并尝试通过创建类似于查询集的 json 对象来愚弄 django。但看起来 django 在捕捉这一点方面非常聪明。
编辑:问题是我应该寻找 get_queryset 的替代方法,如 list() [来自 Django Rest 框架] 并使用 Httpresponse 返回 json,或者是否有一个真正的解决方案来俱乐部两个查询集对象并从这里返回。
我有一个链接,单击该链接会打开模式弹出窗口。如果网络连接缓慢,则需要一些时间才能打开弹出窗口。如果用户超快,他可能会多次单击该链接,并且它们是屏幕上出现的多个弹出窗口。我想防止用户多次单击链接。
我在第一次点击时禁用了链接。但是问题是当弹出窗口关闭时,它没有再次启用链接。
我如何防止这些多次单击并确保当未显示弹出窗口时,已启用链接。
$('#link').click(function() {
$(this).attr("disabled", "disabled");
$("#popup").show();
});
Run Code Online (Sandbox Code Playgroud) 我做了一个查询来从模型中获取所有字段值.我将结果存储在一个查询集中.
queryset=Books.objects.filter(book_type="comic")
Run Code Online (Sandbox Code Playgroud)
现在,当我过滤此查询集时:
query=queryset.filter(~Q(auther_id=1))
autherList=[]
for q in query:
autherList.append(q.auther_id)
print autherList
Run Code Online (Sandbox Code Playgroud)
它将列表打印为:
[3L, 4L, 9L, 13L, 53L, 53L, 102L, 111L, 111L, 111L, 111L]
Run Code Online (Sandbox Code Playgroud)
我的问题是:这个L表示什么以及如何删除它以获得一个简单的ID列表.
我看了看这个,但找不到任何关于这一点.
I am working on a MEAN project where we have some defined api routes like this:
//products.controller.js
var express = require('express');
var router = express.Router();
const m = require('../../middlewares');
router.get('/products', [m.functionA, m.functionB, m.functionC], getProducts);
router.post('/products', [m.functionA, m.functionB, m.functionC], addNewProduct);
module.exports = router;
function getProducts(req, res) {
//code
}
function addNewProduct(req, res) {
//code
}
Run Code Online (Sandbox Code Playgroud)
..............
//middlewares.js
function functionA(req, res, next) {
//code
}
function functionB(req, res, next) {
//code
}
function functionC(req, res, next) {
//code
}
Run Code Online (Sandbox Code Playgroud)
Here now I …
我希望创建一个 mongodb 查询来更新一次文档,这样它将设置一些带有值的字段,如果已经有可用字段(其他未设置的字段),则取消设置它们。
我是这样做的:
db.collection('collectionName").find({"itemId": itemsDataArray[i].itemId }).updateOne(
{ "$unset" :
{
"field1": 1,
"field2": 1,
"field3": 1
}
},
{ "$set":
{
"field4" : "value",
"field5" : "value"
}
})
Run Code Online (Sandbox Code Playgroud)
现在的问题是,如果文档中不存在字段 1、2 或 3,则查询无法设置字段 4 和 5。
mongo 查询中是否缺少任何标志?请帮忙。
编辑:解决方案
db.collection('collectionName').find({"itemId": itemsDataArray[i].itemId }).updateOne(
{ "$unset" :
{
"field1": 1,
"field2": 1,
"field3": 1
},
"$set":
{
"field4" : "value",
"field5" : "value"
}
})
Run Code Online (Sandbox Code Playgroud) 我收到了来自 ebay-api 的回复
\n\n\n\n\n--MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375576565344 内容类型:application/xop+xml;字符集=utf-8;类型 =“text/xml”\n 内容传输编码:二进制内容 ID:\n <0.urn:uuid:C91296EA5FF69EE9571479882375576565345>
\n\nSuccess1.1.02016-11-23T06:26:15.576Z514\n --MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375574545344 内容类型:application/zip 内容传输编码:二进制\n 内容 ID:
\n\nPKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd50014028337_report.xmlUT y\xef\xbf\xbd2Xy\xef\xbf\xbd2Xux\n 00\xef\xbf\xbdR\xef \xbf\xbdj\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbdPlX#\ xef\xbf\xbd(\xef\xbf\xbdx,=l\xef\xbf\xbdq)Lfewc\xef\xbf\xbd\xef\xbf\xbdw\xc4\xa4\xef\xbf\xbd\xef\xbf\ xbdO\xef\xbf\xbd\xef\xbf\xbd\xd9\xa1\xef\xbf\xbdHT\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbd\xef\ xbf\xbdGGT\xef\xbf\xbd\n\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\' \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.$\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd=d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdm;c}W\xdf\xa6\xef\xbf \xbdRW\xef\xbf\xbdA\nf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbdI\xef\xbf \xbd\xef\xbf\xbd4U\xef\xbf\xbd\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbdf\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xd2\x93{f\xef\xbf\xbd\xef\xbf\xbdxj\xef\xbf\xbd,+\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xdb\x96I%5\xef\xbf\xbd\xef\xbf\xbdB\'s\xef\xbf\xbd\xef\xbf\xbdG,#\xef\xbf\xbd\xef\ xbf\xbdt,L{\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdMD\xe7\xac\x93\xef \xbf\xbd\xef\xbf\xbd)!\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbdM\xef\xbf\xbdo;8_\xef\xbf \xbd\xef\xbf\xbd<\xef\xbf\xbdi\xef\xbf\xbdy\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdsz\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd=\xef\xbf\xbd\xef\xbf\xbd\xd5\x8b^2 \xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbd%+2\xef\xbf\xbd2\xef\xbf\xbd`QV\xef\xbf\xbd$\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~?\xef\xbf\xbdw\xef\xbf\xbd\xc7\xa5\xef\xbf\xbd_Q\xef\xbf \xbd\xed\x89\xa6\xef\xbf\xbd\'PKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf \xbd50014028337_report.xmlUTy\xef\xbf\xbd2Xux\n 00PK\\\xef\xbf\xbd\n --MIMEBoundaryurn_uuid_C91296EA5FF69EE9571479882375576565344--
\n
这是字符串类型。我提取了附加的 zip 文件数据,即
\n\n\n\n\nPKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd50014028337_report.xmlUT y\xef\xbf\xbd2Xy\xef\xbf\xbd2Xux\n 00\xef\xbf\xbdR\xef \xbf\xbdj\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbdPlX#\ xef\xbf\xbd(\xef\xbf\xbdx,=l\xef\xbf\xbdq)Lfewc\xef\xbf\xbd\xef\xbf\xbdw\xc4\xa4\xef\xbf\xbd\xef\xbf\ xbdO\xef\xbf\xbd\xef\xbf\xbd\xd9\xa1\xef\xbf\xbdHT\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbd\xef\ xbf\xbdGGT\xef\xbf\xbd\n\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\' \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.$\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd=d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdm;c}W\xdf\xa6\xef\xbf \xbdRW\xef\xbf\xbdA\nf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbdI\xef\xbf \xbd\xef\xbf\xbd4U\xef\xbf\xbd\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbdf\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xd2\x93{f\xef\xbf\xbd\xef\xbf\xbdxj\xef\xbf\xbd,+\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xdb\x96I%5\xef\xbf\xbd\xef\xbf\xbdB\'s\xef\xbf\xbd\xef\xbf\xbdG,#\xef\xbf\xbd\xef\ xbf\xbdt,L{\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdMD\xe7\xac\x93\xef \xbf\xbd\xef\xbf\xbd)!\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\n \xef\xbf\xbdM\xef\xbf\xbdo;8_\xef\xbf \xbd\xef\xbf\xbd<\xef\xbf\xbdi\xef\xbf\xbdy\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdsz\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd=\xef\xbf\xbd\xef\xbf\xbd\xd5\x8b^2 \xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbd%+2\xef\xbf\xbd2\xef\xbf\xbd`QV\xef\xbf\xbd$\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~?\xef\xbf\xbdw\xef\xbf\xbd\xc7\xa5\xef\xbf\xbd_Q\xef\xbf \xbd\xed\x89\xa6\xef\xbf\xbd\'PKY\'uIi[\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf \xbd50014028338_report.xmlUTy\xef\xbf\xbd2Xux\n 00PK\\\xef\xbf\xbd
\n
这表明它里面有一个report.xml。因此,当我将这些数据写入 zip 文件时,它会创建一个 zip 文件,并且在提取时会出现错误。 …