小编pgo*_*etz的帖子

为什么一个简单的字典不能正确填充obj for form = myForm(obj = dict)?

我在使用字典填充表单时遇到问题:

        row = {'firstname':'Bob', 'lastname': "Smith",
               'email': 'bob@bubba.com', 'phone': '512.999.1212'}
        form = RolodexEntry(obj=row)
Run Code Online (Sandbox Code Playgroud)

不会将任何数据放入表单中(即form.firstname.data =之前的无).

表单定义的顶部如下所示.我不知道下一步该尝试什么.表单文档只是说:

obj - 如果formdata为空或未提供,则检查此对象是否存在与表单字段名称匹配的属性,这些属性将用于字段值.

class RolodexEntry(Form):
    firstname  = TextField('First Name',[validators.length(max=40)],
                           filters=[strip_filter])
    lastname   = TextField('Last Name', [validators.length(max=40)],
                           filters=[strip_filter])
    email      = TextField('Email',     [validators.Optional(),
                                         validators.length(max=25),
                                         validators.Email()],
                           filters=[strip_filter])
    ...
Run Code Online (Sandbox Code Playgroud)

wtforms

9
推荐指数
2
解决办法
4029
查看次数

conda-env list / conda info --envs 如何查找环境?

我一直在试验 anaconda/miniconda,因为我的用户使用安装有 miniconda 的结构生物学程序,但没有一个作者 A) 考虑到可能还有其他 miniconda 应用程序 B) 他们的程序将在多用户环境中使用.

所以,使用 Arch linux,首先我安装了 anaconda (version 4.5.12) ,然后使用我自己的帐户,创建了几个测试环境:

conda create -n snakes
conda create -n sharks
Run Code Online (Sandbox Code Playgroud)

然后我(完全)卸载了 anaconda 并安装了 miniconda(也是 4.5.12 版),然后以 root 身份在非标准位置创建了另一个环境:

# conda create -p /usr/local/miniconda/pyem
Run Code Online (Sandbox Code Playgroud)

这就是事情变得奇怪的地方。当我以 root 用户身份列出环境时,我不仅可以看到默认环境和我刚刚创建的环境,还可以看到我之前使用我的用户帐户创建的环境!

[root@lizard /]# conda info --envs
# conda environments:
#
                         /home/cnsit/.conda/envs/sharks
                         /home/cnsit/.conda/envs/snakes
base                  *  /opt/miniconda3
                         /usr/local/miniconda/pyem
Run Code Online (Sandbox Code Playgroud)

(该conda-env list命令给出相同的输出。)

那么,问题是:conda 如何查找由不同用户创建的环境?此外,当 conda 的原始实例的整个父目录已被删除并替换为一个完全不同的位置时(因此没有本地环境.txt 文件可以对此进行编目。

python anaconda conda miniconda

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

十分钟内的Javascript:这个示例代码说明了懒惰的范围是怎么回事?

我一直在重读Spencer Tipping 十分钟内出色的Javascript,但对于我的生活,我无法弄清楚这个使用惰性作用域创建语法宏的例子:

var f = function () {return $0 + $1};  
var g = eval (f.toString ().replace (/\$(\d+)/g,  
           function (_, digits) {return 'arguments[' + digits + ']'}));  
g(5,6); // => 11 (except on IE)
Run Code Online (Sandbox Code Playgroud)

特别是,

  1. $ 0和$ 1正被函数定义所取代 - 函数如何被评估?(大概是通过eval(),但我没有看到这个).
  2. 函数中单个下划线参数的目的是什么 - 如果我把它取出,代码就不再起作用了.据推测它只是一个占位符,但为什么需要呢?

javascript functional-programming naming-conventions

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

有没有办法让expression()显示P(a <= X <= b)?

我大部分时间都能够强制表达()给我一些我需要的数学输出图,但是我对此感到茫然.

text(-2,.21,expression(P(a <= X)), cex=1.2)
Run Code Online (Sandbox Code Playgroud)

给了我预期的结果,但是

text(-2,.21,expression(P(a <= X <= b)), cex=1.2)
Run Code Online (Sandbox Code Playgroud)

失败,箭头指向第二个\ le.将2个部分粘在一起也不起作用,因为<=需要左右标记; 即这也失败了:

text(-2,.21,expression(<= X), cex=1.2)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?令人沮丧的是,似乎没有关于表达式令牌解析器如何在查看源代码的情况下工作的任何文档.唯一的文档似乎是几个不同的颜色版本:

http://stat.ethz.ch/R-manual/R-patched/library/grDevices/html/plotmath.html

r plotmath

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