我有一个生成并返回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文件响应的内容?
我的简单问题是:为什么我不能在package.json中使用确切的版本?这与锁文件有什么不同?
我有这样的情况:
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)
按预期返回所有对象。
根据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分支中起作用?
我正在拼命了解如何在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吗?
考虑这种功能:
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)
..或者这种移动优化现在由编译器自动完成吗?
假设我有一节课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的方法完全没问题.