在我的django测试中,我想发送一个包含2个参数的HTTP Post Multipart:
def test_upload_request(self):
temp_file = tempfile.NamedTemporaryFile(delete=False).name
with open(temp_file) as f:
file_form = {
"file": f
}
my_json = json.dumps({
"list": {
"name": "test name",
"description": "test description"
}
})
response = self.client.post(reverse('api:upload'),
my_json,
content=file_form,
content_type="application/json")
os.remove(temp_file)
def upload(request):
print request.FILES['file']
print json.loads(request.body)
Run Code Online (Sandbox Code Playgroud)
我的代码不起作用.有帮助吗?如果有必要,我可以使用外部python lib(我正在尝试请求)谢谢
从 Django 1.4(我认为)开始,当我启动项目时,django 会为我的项目创建一个文件夹。Django在项目文件夹的同一级别为我创建的任何应用程序(使用python manage.py startapp )添加一个文件夹。
Project_name
|---project_name_dir/
|---application_dir/
`---manage.py
Run Code Online (Sandbox Code Playgroud)
我非常喜欢以下文件夹结构:
Project_name
|---project_name_dir/
| |---application_dir/
| | |-- __init__.py
| | |-- models.py
| | |-- tests.py
| | `-- views.py
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
| |---templates/
| | `---application_dir/
| `---static/
| |---css/
| |---font/
| |---img/
| `---js/
|---deployment/
|---documentation/
|---config/
`---manage.py
Run Code Online (Sandbox Code Playgroud)
因为我有一个包含所有 django 文件的文件夹(project_name_dir/)以及非 django 文件的其他目录。
那么为什么 Django 将应用程序放在我的项目文件夹的同一级别呢?
我尝试渲染ES6模板文字变量:
function render(template, data){
...
}
const template = 'resources/${id}/';
console.log(render(template, {id: 1})); // -> resources/1/
Run Code Online (Sandbox Code Playgroud)
是否存在将具有上下文的字符串模板转换为具有ES6模板文字功能的格式化字符串的方法?
因为我想减小我的包的大小,所以我想用 2012 年 2022 年的数据加载时刻时区。
其实我这样做:
import moment from "moment-timezone/builds/moment-timezone-with-data-2012-2022";
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用moment-timezone时随机出现错误:
moment.utc(...).tz(...) is undefined
Run Code Online (Sandbox Code Playgroud)
您知道如何正确加载时刻和/或时刻时区以避免 moment.utc(...).tz(...) 未定义吗?
我正在使用 webpack 3
我想在数组中使用prop创建一个组件或使用默认值:
<Component lang="en"/> // this.props.lang == en
<Component lang="fr"/> // this.props.lang == fr
Run Code Online (Sandbox Code Playgroud)
我的组件尚未翻译成意大利语,因此<Component lang="it"/>
显示警告信息:
Warning: Failed prop type: Invalid prop `lang` of value `it` supplied to `Component`, expected one of ["en","fr"].
Run Code Online (Sandbox Code Playgroud)
我组件的语言等于it
,我想等于en
。任何的想法 ?
import React from 'react';
const Component = React.createClass({
propTypes: {
lang: React.PropTypes.oneOf(['en', 'fr'])
},
getDefaultProps() {
return {
lang: 'en'
};
},
render(){
return (
<h1>
lang: {this.props.lang}
</h1>
);
}
});
export default Component;
Run Code Online (Sandbox Code Playgroud)
这是我的测试:
import assert from 'assert'; …
Run Code Online (Sandbox Code Playgroud) django ×2
javascript ×2
ecmascript-6 ×1
http ×1
momentjs ×1
post ×1
python ×1
reactjs ×1
testing ×1
webpack ×1