小编dav*_*ers的帖子

在Django模板中动态创建列表

我不知道是否可能,但我希望能够写出如下内容:

{% with var1 var2 var3 as some_list %}
    {{ some_list|maximum }}
{% endwith %}
Run Code Online (Sandbox Code Playgroud)

从任意数量的模板变量和/或文字中动态创建列表似乎很有用,所以我希望我忽略了一些简单的事情.

但是,如果不这样做,我想知道如何创建一个接受任意数量参数的模板标签.(我玩过simple_tag,适用于接受固定数量参数的标签.)

我不想去创建解析器和子类化的麻烦,django.template.Node直到我确定没有更简单的解决方案.

django django-templates

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

Express:顶级路径的可选尾部斜杠

更新:我的问题没有准确地传达我想要实现的目标.我希望匹配/foo,/foo/以及/foo/(例如/foo/asdf/jkl)下的任何内容,而不是具体的给定路径.最初的问题如下.


我想匹配以下路径:

/foo
/foo/bar
/foo/bar/baz
Run Code Online (Sandbox Code Playgroud)

这些也应该有用:

/foo/          ->  /foo
/foo/bar/      ->  /foo/bar
/foo/bar/baz/  ->  /foo/bar/baz
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

app.get('/foo/*', ...);
Run Code Online (Sandbox Code Playgroud)

但是,这种情况失败了/foo.我知道我可以提供正则表达式而不是字符串,但这肯定是一个常见的要求,所以我会惊讶地发现模式匹配的DSL不适应它.

routing node.js express

9
推荐指数
3
解决办法
5086
查看次数

关于(现代或历史)编程语言设计的一些备受推崇的书籍是什么?

我非常喜欢Douglas Crockford最近的系列讲座,特别是关于编程语言历史的演讲.我想更详细地了解这个主题.

考虑这个问题语言不可知.我对教授编程的书不感兴趣.我对讨论在设计一种或多种语言时做出的决定的书感兴趣.

language-agnostic language-features programming-languages language-design

7
推荐指数
3
解决办法
807
查看次数

制作Python字典的浅表副本的最佳方法是什么?

假设我们有一个简单的Python字典:

dict_ = {'foo': 1, 'bar': 2}
Run Code Online (Sandbox Code Playgroud)

哪个是复制这本词典的更好方法?

copy1 = dict(dict_)
copy2 = dict_.copy()
Run Code Online (Sandbox Code Playgroud)

是否有令人信服的理由支持一种方法而不是另一种方法?

python

7
推荐指数
2
解决办法
946
查看次数

是否有任何Web浏览器允许写入stdout?

我打算编写一个Hashify命令行客户端,我想确认在创建之前只是写入stdout不是一个选项.

(理想情况下,命令的行为类似于TextMate mate,在这种情况下,在浏览器中打开hashify.me并等待输入.)

browser stdout command-line-interface

7
推荐指数
1
解决办法
666
查看次数

创建一个包含来自另一个字典的特定键值对的Python字典

我有一些看起来像这样的代码:

d = {'foo': True, 'bar': 42, 'baz': '!'}

a = {'foo': d['foo'], 'bar': d['bar']}
b = {'foo': d['foo'], 'baz': d['baz']}
c = {'bar': d['bar'], 'baz': d['baz']}
Run Code Online (Sandbox Code Playgroud)

当然有更好的方式来表达这一点.我实际上阅读了文档,希望字典的copy方法接受键包含在新字典中:

# I'd hoped that something like this would work...
a = d.copy('foo', 'bar')
b = d.copy('foo', 'baz')
c = d.copy('bar', 'baz')
Run Code Online (Sandbox Code Playgroud)

我可以为此目的编写一个函数:

copydict = lambda dct, *keys: {key: dct[key] for key in keys}

a = copydict(d, 'foo', 'bar')
b = copydict(d, 'foo', 'baz')
c = copydict(d, 'bar', 'baz')
Run Code Online (Sandbox Code Playgroud)

有没有比上面更好的解决方案?

python dictionary

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

制作取决于环境变量的目标

我在一个Web应用程序上工作,其Makefile包含以下内容:

dist/index.html: src/templates/index.html
    @bin/insert-scripts $< --output $@
Run Code Online (Sandbox Code Playgroud)

bin/insert-scripts使用<--scripts-->以下方法之一替换所提供的文件:

  • 当$ ENV是"开发"时,或许多脚本标签(用于jQuery,Underscore等)
  • $ ENV是"生产"时,单个脚本标记(指向连接的,缩小的文件).

问题是如果一个人在一个模式下构建dist/index.html(比如说"开发"),然后在另一个模式再次构建它而不触及依赖关系,make会说没有什么可做的.我希望能够使$ ENV成为dist/index.html的依赖:

dist/index.html: src/templates/index.html $ENV
    @bin/insert-scripts $< --output $@
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,所以我考虑使用一个名为ENV的文件,其中包含"开发"或"生产".该文件将成为依赖项:

dist/index.html: src/templates/index.html ENV
    @bin/insert-scripts $< --output $@
Run Code Online (Sandbox Code Playgroud)

可以设置ENV文件的内容,而不是设置环境变量.这似乎有点笨重,但至少准确地表示依赖树.

处理这种情况的最佳方法是什么?

makefile build

7
推荐指数
2
解决办法
1875
查看次数

一个`git log`标记的提交方式如何?

我想要git log对master分支上的所有标记提交(以及没有任何未标记的提交).这可能吗?

git

7
推荐指数
1
解决办法
1493
查看次数

将charset ="utf-8"添加到HTML链接元素是否有效?

我正在使用我没有创作的HTML文档.它包含以下内容:

<link rel="stylesheet" href="/static/oxygen-fontfacekit/stylesheet.css" charset="utf-8" />
Run Code Online (Sandbox Code Playgroud)

以这种方式指定字符集是否有效,或者是由Content-Type响应头确定的字符集?

html html5 content-type character-encoding

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

Pythonic速记字典中的键?

简单问题:是否有用于检查字典中几个键是否存在的简写?

'foo' in dct and 'bar' in dct and 'baz' in dct
Run Code Online (Sandbox Code Playgroud)

python dictionary key

5
推荐指数
3
解决办法
1237
查看次数