小编Che*_*eng的帖子

Javascript ES6导出const vs export let

假设我有一个我要导出的变量.有什么区别

export const a = 1;
Run Code Online (Sandbox Code Playgroud)

VS

export let a = 1;
Run Code Online (Sandbox Code Playgroud)

我明白之间的差别constlet,但是当你导出它们,有什么区别?

javascript ecmascript-6 es6-modules

127
推荐指数
1
解决办法
9万
查看次数

使用ES6语法通过onclick事件反应传递参数

如何使用ES6语法将额外参数传递给onClick事件?

例如:

handleRemove = (e) => {

}

render() {
     <button onClick={this.handleRemove}></button>
}
Run Code Online (Sandbox Code Playgroud)

我想将id传递给handleRemove函数,如下所示:

<button onClick={this.handleRemove(id)}></button>
Run Code Online (Sandbox Code Playgroud)

reactjs

87
推荐指数
5
解决办法
13万
查看次数

布尔系列键将重新编制索引以匹配DataFrame索引

这是我遇到错误的方式:

df.loc[a_list][df.a_col.isnull()]
Run Code Online (Sandbox Code Playgroud)

类型a_listInt64Index,它包含行索引列表.所有这些行索引都属于df.

df.a_col.isnull()部分是我需要过滤的条件.

如果我单独执行以下命令,我不会收到任何警告:

df.loc[a_list]
df[df.a_col.isnull()]
Run Code Online (Sandbox Code Playgroud)

但如果我把它们放在一起df.loc[a_list][df.a_col.isnull()],我会得到警告信息(但我可以看到结果):

布尔系列键将重新编制索引以匹配DataFrame索引

这个错误消息的含义是什么?它会影响它返回的结果吗?

python pandas

36
推荐指数
2
解决办法
4万
查看次数

熊猫如何使用pd.cut()

这是片段:

test = pd.DataFrame({'days': [0,31,45]})
test['range'] = pd.cut(test.days, [0,30,60])
Run Code Online (Sandbox Code Playgroud)

输出:

    days    range
0   0       NaN
1   31      (30, 60]
2   45      (30, 60]
Run Code Online (Sandbox Code Playgroud)

我很惊讶0不在(0,30),我应该怎么做才能将0归类为(0,30)?

python pandas

19
推荐指数
4
解决办法
4万
查看次数

Django CSRF cookie未正确设置

更新7-18:

这是我的代理服务器的nginx配置:

server {
    listen 80;
    server_name blah.com; # the blah is intentional

    access_log /home/cheng/logs/access.log;     
    error_log /home/cheng/logs/error.log;       

    location / {
        proxy_pass http://127.0.0.1:8001;         
    }

    location /static {
        alias /home/cheng/diandi/staticfiles;  
    }

    location /images {
        alias /home/cheng/diandi/images;
    }

    client_max_body_size 10M;
}
Run Code Online (Sandbox Code Playgroud)

这是nginx.conf:

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # Logging Settings …
Run Code Online (Sandbox Code Playgroud)

python django cookies csrf

18
推荐指数
1
解决办法
3884
查看次数

React-dnd $ splice做了什么

我正在阅读React-dnd项目的一个例子:

moveCard(dragIndex, hoverIndex) {
    const { cards } = this.state;
    const dragCard = cards[dragIndex];

    this.setState(update(this.state, {
      cards: {
        $splice: [
          [dragIndex, 1],
          [hoverIndex, 0, dragCard]
        ]
      }
    }));}
Run Code Online (Sandbox Code Playgroud)

这个$ splice与本页解释的相同吗?

任何人都可以解释一下这段代码的作用是什么吗?这个$splice功能对我很困惑.

reactjs react-dnd

15
推荐指数
2
解决办法
5135
查看次数

Django REST Framework如何在序列化程序中引发验证错误时指定错误代码

我有一个API端点,允许用户注册帐户.我想为重复的用户名返回HTTP 409而不是400.

这是我的序列化器:

from django.contrib.auth.models import User
from rest_framework.serializers import ModelSerializer

class UserSerializer(ModelSerializer):
    username = CharField()

    def validate_username(self, value):
        if User.objects.filter(username=value).exists():
            raise NameDuplicationError()
        return value


class NameDuplicationError(APIException):
    status_code = status.HTTP_409_CONFLICT
    default_detail = u'Duplicate Username'
Run Code Online (Sandbox Code Playgroud)

触发错误时,响应为:{"detail":"Duplicate Username"}.我意识到,如果我将APIException子类化,detail则使用密钥代替username.

我希望得到这个回应 {"username":"Duplicate Username"}

或者我想在引发ValidationError时指定状态代码:

def validate_username(self, value):
    if User.objects.filter(username=value).exists():
        raise serializers.ValidationError('Duplicate Username', 
                                          status_code=status.HTTP_409_CONFLICT)
    return value
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为ValidationError只返回400.

有没有其他方法可以实现这一目标?

django django-rest-framework

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

Webpack将文件输出到不同的目录

在构建项目之后,我有index.html,bundle.js和一些.css文件,我希望它们被放置在这样的目录结构中:

dist/
    - css/all.my.css
    - js/bundle.js
    - index.html
Run Code Online (Sandbox Code Playgroud)

这是我为.js和.css所做的:

entry: {
    app: path.resolve(__dirname, 'app/src/index.js'),
},
output: {
    path: path.resolve(__dirname, 'dist', 'css'),
    filename: '../js/[name].js'
},
Run Code Online (Sandbox Code Playgroud)

以下是相应的模块配置:

module: {
    loaders: [{
        test: /\.jsx?$/,
        loaders: ['react-hot', 'babel-loader'],
        exclude: /node_modules/
    },
    {
      test: /\.css$/,
      loader: ExtractTextPlugin.extract("style-loader", "css-loader")
    },
    {
      test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
      loader: "url-loader?limit=10000&mimetype=application/font-woff"
    },
    {
      test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
      loader: "file-loader"
    }]
},
Run Code Online (Sandbox Code Playgroud)

我不知道如何index.html从文件夹中复制并将其放在dist /下.我知道file-loader是必要的,但我应该写在entryoutput

谢谢!


我想出来了,这是解决方案:

output: {
        path: path.resolve(__dirname, '../dist'),   // this is the output directory, …
Run Code Online (Sandbox Code Playgroud)

webpack

13
推荐指数
1
解决办法
1万
查看次数

为什么Redux示例将空对象作为第一个Object.assign()参数传递?

redux项目的todoMVC示例中,用于处理待办事项的reducer有以下几行:

export default function todos(state = initialState, action){
    ...
    case EDIT_TODO:
      return state.map(todo =>
        todo.id === action.id ?
          Object.assign({}, todo, { text: action.text }) :
          todo
      )
}
Run Code Online (Sandbox Code Playgroud)

代码的这一部分涉及更新特定的待办事项.我的问题是,因为state.map()将始终返回一个新数组.那么,还有必要这样做:

Object.assign({}, todo, { text: action.text})
Run Code Online (Sandbox Code Playgroud)

它可以只是:

Object.assign(todo, { text: action.text})
Run Code Online (Sandbox Code Playgroud)

UPDATE

我理解Object.assign({}, blah...)vs 之间的区别Object.assign(obj, blah...).让我重新解释一下我的问题:

Redux希望Reducer返回一个新状态而不是改变现有状态.我知道了.在我的例子中,我有一个对象数组.我想交换前两个元素的顺序.在这里查看jsbin示例.

  1. 由于Array.map始终返回一个新数组,因此对返回数组的引用将被设为新数组.校验.
  2. 但是,返回数组中的元素并非都是新元素.对前两个元素的引用是新的.但是,第三项不是.它与旧数组中的第三项相同.

所以我的问题是第三个元素,我应该使用:

Object.assign({}, third_element) 或者干脆 return the third_elment

Redux是否需要一个新的数组,其中包含对其中每个对象的新引用(即使存储在这些新对象中的值与旧对象相同),或只是一个只有新更新元素的新数组?

javascript reactjs redux

13
推荐指数
2
解决办法
5858
查看次数

使用datetime64作为x轴的Seaborn regplot

我的数据框看起来像这样:

date         score  
2017-06-04    90
2017-06-03    80
2017-06-02    70
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时:

sns.regplot(x=date, y=score, data=df)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

TypeError: reduction operation 'mean' not allowed for this dtype
Run Code Online (Sandbox Code Playgroud)

日期的dtype是datetime64[ns],int64对于得分列.

如何隐藏date列以便它regplot可以工作?

python numpy pandas seaborn

11
推荐指数
1
解决办法
1845
查看次数