小编Dou*_*ris的帖子

Python将来五分钟创建unix时间戳

我必须在未来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)

是否有为我进行时间戳转换的模块或函数?

python datetime unix-timestamp

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

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

自定义日志格式在输出结束时省略换行符

我正在关注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)

git

29
推荐指数
1
解决办法
7425
查看次数

如何压制最近的Django迁移?

在Django的迁移代码中,有一个squashmigrations命令:" 如果可能的话,将迁移压缩到更少的迁移,app_label包括migration_name更少的迁移."

所以,如果你想压缩前五次迁移,这将有所帮助.

从一个特定的壁球开始压制的最佳方法是migration_name什么?

在我目前正在开展的项目中,我们添加了5-10个新的迁移文件,因为我们添加了新功能.我们将立即部署整个项目,看起来单独运行这些将花费太长时间.我想将此项目的所有迁移压缩为单个迁移并测试运行时间.

django django-migrations

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

将groovy map序列化为带引号的字符串

我正在尝试将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为标识符而不是字符串时,调用会阻塞.

所以,我的具体问题:

  1. 有没有更好的方法在Groovy中序列化/反序列化地图?
  2. 有没有办法用适当的引号生成地图的字符串表示?

groovy serialization deserialization

25
推荐指数
2
解决办法
3万
查看次数

动态选择django包含标签的模板

目前

我有一个包含标记,编码如下:

@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)

django django-templates

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

强制grunt插件更新

我正在使用Gruntgrunt-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)

npm gruntjs

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

组合常量和变量值作为模板默认值

我正在设置一个模板,其中我希望默认值是常量字符串和变量 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器的语法中做到这一点?

django django-templates

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

将grunt命令行选项解释为字符串

作为构建过程的一部分,我们运行如下的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()它适当地转换为字符串,但伤害已经完成.尾随零消失了.

有什么方法吗?

javascript node.js gruntjs

4
推荐指数
1
解决办法
827
查看次数