小编Gui*_*ent的帖子

Django测试 - 如何使用JSON发送HTTP Post Multipart

在我的django测试中,我想发送一个包含2个参数的HTTP Post Multipart:

  • 一个JSON字符串
  • 一份文件
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(我正在尝试请求)谢谢

python testing django post http

5
推荐指数
1
解决办法
2753
查看次数

为什么 Django 将应用程序放在我的项目文件夹的同一级别?

从 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 将应用程序放在我的项目文件夹的同一级别呢?

django directory-structure

5
推荐指数
1
解决办法
1873
查看次数

基于模板变量的ES6模板文字

我尝试渲染ES6模板文字变量:

function render(template, data){
 ...
}
const template = 'resources/${id}/';
console.log(render(template, {id: 1})); // -> resources/1/
Run Code Online (Sandbox Code Playgroud)

是否存在将具有上下文的字符串模板转换为具有ES6模板文字功能的格式化字符串的方法?

javascript ecmascript-6 template-literals

5
推荐指数
1
解决办法
3207
查看次数

如何使用 webpack 加载来自 2012 2022 的数据的时刻时区?

因为我想减小我的包的大小,所以我想用 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

momentjs webpack

5
推荐指数
0
解决办法
434
查看次数

支持oneOf数组或React.js中的默认值

我想在数组中使用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)

javascript reactjs

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