我必须在未来5分钟创建一个"Expires"值,但我必须以UNIX Timestamp格式提供它.到目前为止,我有这个,但它似乎是一个黑客.
def expires():
'''return a UNIX style timestamp representing 5 minutes from now'''
epoch = datetime.datetime(1970, 1, 1)
seconds_in_a_day = 60 * 60 * 24
five_minutes = datetime.timedelta(seconds=5*60)
five_minutes_from_now = datetime.datetime.now() + five_minutes
since_epoch = five_minutes_from_now - epoch
return since_epoch.days * seconds_in_a_day + since_epoch.seconds
Run Code Online (Sandbox Code Playgroud)
是否有为我进行时间戳转换的模块或函数?
根据这篇文章它是在测试版,但它不是在发布?
我正在关注gitimmersion.com上的git教程并设置一个别名hist来显示自定义的漂亮日志输出.
当我禁用git的寻呼机(将GIT_PAGER设置为空或无cat)时,输出会在末尾省略换行符.
这是我看到的:
work/lab_10$ git hist
* 88976c6 2011-01-19 | Added a comment (HEAD, v1, master) [Jim Weirich]
* b819ef8 2011-01-19 | Added a default value (v1-beta) [Jim Weirich]
* ff07fc9 2011-01-19 | Using ARGV [Jim Weirich]
* b73dc5c 2011-01-19 | First Commit [Jim Weirich]work/lab_10$
Run Code Online (Sandbox Code Playgroud)
请注意,shell提示符显示在可打印输出的最后一个字符之后,没有换行符.
为了比较,这是我在使用标准漂亮格式时看到的:
work/lab_10$ git log --pretty=oneline
88976c644e65afa697b58fc940eb8f94c47f8129 Added a comment
b819ef832effdaea8c0e33b1fea36ea4071c61b9 Added a default value
ff07fc93d3e2e5522e5607c9952cbad10cfa1144 Using ARGV
b73dc5c1579756f4e9a4f91a90384c47288023b0 First Commit
work/lab_10$
Run Code Online (Sandbox Code Playgroud)
在这种情况下,将出现下一个提示之前的换行符.
这是别名的定义:
[alias]
hist = log --pretty=format:\"%h …Run Code Online (Sandbox Code Playgroud) 在Django的迁移代码中,有一个squashmigrations命令:" 如果可能的话,将迁移压缩到更少的迁移,app_label包括migration_name更少的迁移."
所以,如果你想压缩前五次迁移,这将有所帮助.
从一个特定的壁球开始压制的最佳方法是migration_name什么?
在我目前正在开展的项目中,我们添加了5-10个新的迁移文件,因为我们添加了新功能.我们将立即部署整个项目,看起来单独运行这些将花费太长时间.我想将此项目的所有迁移压缩为单个迁移并测试运行时间.
我正在尝试将groovy地图保存到文件中.我当前的尝试是将字符串表示写出来然后再读回来并evaluate在我准备好再次使用它时调用它来重新创建地图.
我遇到的问题是toString()地图的方法从元素的值中删除了重要的引号.当我的代码调用evaluate时,它会抱怨一个未知的标识符.
此代码演示了此问题:
m = [a: 123, b: 'test']
print "orig: $m\n"
s = m.toString()
print " str: $s\n"
m2 = evaluate(s)
print " new: ${m2}\n"
Run Code Online (Sandbox Code Playgroud)
前两个打印语句几乎可以工作 - 但是关键值的引用b已经消失了.[a: 123, b: 'test']它表明,而不是显示[a: 123, b: test].
此时损坏已经完成.当evaluate调用尝试评估test为标识符而不是字符串时,调用会阻塞.
所以,我的具体问题:
目前
我有一个包含标记,编码如下:
@register.inclusion_tag('forms/my_insert.html', takes_context=True)
def my_insert(context):
# set up some other variables for the context
return context
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我通过放入包含它 {% my_insert %}
新功能请求
我们现在想要测试一个新的布局 - 它只是对模板的更改,而不是对上下文变量的更改.我通过拨打第一个来完成这个
@register.inclusion_tag('forms/my_new_insert.html', takes_context=True)
def my_new_insert(context):
return my_insert(context)
Run Code Online (Sandbox Code Playgroud)
要使用新模板,我必须使用:
{% ifequal some_var 0 %}
{% my_insert %}
{% endifequal %}
{% ifnotequal some_var 0 %}
{% my_new_insert %}
{% endifnotequal %}
Run Code Online (Sandbox Code Playgroud)
问题
有没有办法在函数中选择设置模板标签上下文的模板?
我想它可能是这样的:
@register.inclusion_tag('forms/my_insert.html', takes_context=True)
def my_insert(context):
# set up some other variables for the context
if context['some_var'] == 0:
context['template'] = 'forms/my_insert.html'
else: …Run Code Online (Sandbox Code Playgroud) 我正在使用Grunt和grunt-contrib-copy插件.最近推出了一个新版本(0.4.1),它有一个很好的新功能,我想利用它.但是,当我尝试更新使用时npm update grunt-contrib-copy,没有任何反应.
这是我目前的版本:
$ sudo npm list grunt-contrib-copy
UI@2.0.89 /Users/username/src/project/UI
??? grunt-contrib-copy@0.4.0
Run Code Online (Sandbox Code Playgroud)
这是我的更新尝试:
$ sudo npm update grunt-contrib-copy
Run Code Online (Sandbox Code Playgroud)
没有输出 - npm list仍然显示0.4.0.
验证最新版本:
$ sudo npm info grunt-contrib-copy
npm http GET https://registry.npmjs.org/grunt-contrib-copy
npm http 200 https://registry.npmjs.org/grunt-contrib-copy
{ name: 'grunt-contrib-copy',
description: 'Copy files and folders.',
'dist-tags': { latest: '0.4.1' },
versions:
[ '0.2.0',
... other versions snipped ...
'0.4.0',
'0.4.1' ],
maintainers:
[ 'tkellen <tyler@sleekcode.net>',
'cowboy <cowboy@rj3.net>',
'shama <kyle@dontkry.com>' ],
time:
{ '0.2.0': …Run Code Online (Sandbox Code Playgroud) 我正在设置一个模板,其中我希望默认值是常量字符串和变量 id 值的组合。所需的 HTML 输出类似于:
<span id="id1234" class="foo">
Click <a href="/images/img1234.jpg">here to view image</a>.
</span>
Run Code Online (Sandbox Code Playgroud)
在 的模板代码中span,我想要类似的内容:
<span id="{{ spanid|default:'id'object.id }}" class="foo">
Run Code Online (Sandbox Code Playgroud)
同样,a标签将使用:
<a href="/images/{{ image_file|default:'img'object.id'.jpg'"> here to view...
Run Code Online (Sandbox Code Playgroud)
这不起作用,有没有办法在 django 模板和过滤default器的语法中做到这一点?
作为构建过程的一部分,我们运行如下的Grunt任务:
grunt release -r 3.9
Run Code Online (Sandbox Code Playgroud)
使用该-r选项传递的版本号用于标记版本的各个部分.
以零结束的版本会出现问题 - 例如3.10.Grunt将此视为一个数字,删除尾随零并认为这是3.1版本.
这是一个简单的Grunt文件,它演示了这个问题:
module.exports = function(grunt) {
grunt.registerTask('default', 'Release preparation', function () {
var rel = grunt.option("r").toString();
grunt.log.writeln("Release data type:" + typeof rel);
grunt.log.writeln("release (" + rel + ")");
});
};
Run Code Online (Sandbox Code Playgroud)
这是你得到的:
$ grunt -r 3.10
Running "default" task
Release data type:string
release (3.1)
Done, without errors.
Run Code Online (Sandbox Code Playgroud)
在toString()它适当地转换为字符串,但伤害已经完成.尾随零消失了.
有什么方法吗?