小编use*_*057的帖子

如何在Django中测试文件响应?

我有一个生成并返回CSV文件的API:

def getCSV():
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename=export.csv'
    writer = csv.writer(response, csv.excel)

    # ... Write some CSV content ...

    return response
Run Code Online (Sandbox Code Playgroud)

当我从浏览器调用它时,这工作正常,但我无法弄清楚如何编写调用API的测试并检查CSV内容是否应该是什么.

如果我:

c = Client()
r = c.get('/my/export/api')
print(r.content)
Run Code Online (Sandbox Code Playgroud)

这只是打印三个字节,很可能在概念上完全错误.

如何在测试中获取CSV文件响应的内容?

python csv testing django unit-testing

6
推荐指数
1
解决办法
2137
查看次数

纱线/ npm5锁定文件和精确包装版本之间的区别?

我的简单问题是:为什么我不能在package.json中使用确切的版本?这与锁文件有什么不同?

npm yarnpkg

6
推荐指数
1
解决办法
492
查看次数

Django QuerySet.exclude():为什么全部被排除?

我有这样的情况:

ids = [None, None, None]
foo = Foo.objects.filter(common=True).exclude(id__in=ids)
Run Code Online (Sandbox Code Playgroud)

这似乎总是排除一切。

为什么会像这种情况一样id受到id__in威胁?也没有用。我希望它不会排除任何内容,因为所有对象都有有效的 ID。Nonepk__in

foo = Foo.objects.filter(common=True)
Run Code Online (Sandbox Code Playgroud)

按预期返回所有对象。

python django

6
推荐指数
1
解决办法
2621
查看次数

无法将null分配给隐式类型的变量

根据Visual Studio,这不行:

var foo = null;
Run Code Online (Sandbox Code Playgroud)

但这没关系:

var foo = false ? (double?)null : null;
Run Code Online (Sandbox Code Playgroud)

为什么?是否(double?)null也在nullelse分支中起作用?

c#

5
推荐指数
2
解决办法
4465
查看次数

Django JWT auth:如何获取用户数据?

我正在拼命了解如何在Django中使用JWT auth.

此页面说明如何获取用户名和密码的令牌:

http://getblimp.github.io/django-rest-framework-jwt/

$ curl -X POST -H "Content-Type: application/json" -d '{"username":"admin","password":"password123"}' http://localhost:8000/api-token-auth/
Run Code Online (Sandbox Code Playgroud)

Now in order to access protected api urls you must include the Authorization: JWT <your_token> header.

1)如何从服务器获取"登录"用户的用户详细信息(id,email ..)?如果我使用基于会话的身份验证我只会序列化并返回,request.user如果它已登录.我不明白服务器如何知道谁是谁谁没有持久的auth相关.

2)我甚至不理解该页面中描述的程序是如何安全的.为什么攻击者不能劫持令牌并做他想做的事情?据我所知,我只是得到一个令牌,然后在每个请求中发回相同的令牌.这甚至是真正的JWT吗?

python authentication django jwt

3
推荐指数
1
解决办法
3210
查看次数

我应该在返回std :: vector的函数上使用std :: move吗?

考虑这种功能:

std::vector<int> generateVector() {
    return std::vector<int>(10, 0);
}
Run Code Online (Sandbox Code Playgroud)

调用generateVector()有什么好处:

std::vector<int> v = std::move(generateVector());
Run Code Online (Sandbox Code Playgroud)

..或者这种移动优化现在由编译器自动完成吗?

c++ move-semantics c++11

2
推荐指数
3
解决办法
362
查看次数

Angular 2:如何在反序列化时保留类方法?

假设我有一节课Foo:

export class Foo {
    name: string;

    printName(): void {
        console.log(this.name);
    } 
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我从后端FooService获取一个FooJSON并从中创建一个Foo对象时,它没有,printName()因为JSON对象中没有这样的东西.

我应该如何安排这个(在Angular 2的背景下)?我是否必须在课外创建我的方法,以便他们只是Foo作为一个参数?

例如,在Java中,DTO的方法完全没问题.

json typescript angular

2
推荐指数
1
解决办法
575
查看次数