小编dap*_*azz的帖子

如何使用Python的列表推导创建斐波纳契系列?

我是python的新手,我想知道我是否可以使用python的列表推导功能生成斐波纳契系列.我不知道列表推导是如何实现的.我尝试了以下(目的是生成前五个斐波纳契数):

series=[]
series.append(1)
series.append(1)
series += [series[k-1]+series[k-2] for k in range(2,5)]
Run Code Online (Sandbox Code Playgroud)

这段代码抛出错误:IndexError: list index out of range.

让我知道是否有可能使用列表理解生成这样的系列.

python list-comprehension fibonacci

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

moment.js 模拟 local() 所以单元测试运行一致

我想测试下面的一段代码。我想知道是否有办法模拟moment.js或强制它认为我当前的位置是America/New_York这样我的单元测试不会在 gitlab.ci runner 中失败,它可能位于不同的地理位置?

  const centralTimeStartOfDay = moment.tz('America/Chicago').startOf('day');
  const startHour = centralTimeStartOfDay
    .hour(7)
    .local()
    .hour();
    
Run Code Online (Sandbox Code Playgroud)

基本上我想对我的时区进行硬编码,America/New_York并希望这个函数的行为一致。

编辑

我试过:

  1. Date.now = () => new Date("2020-06-21T12:21:27-04:00")
  2. moment.tz.setDefault('America/New_York')

而且,我得到了相同的结果。我想模拟当前时间,以便startHour返回一致的值。

javascript momentjs jestjs

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

如何在 django 模板中嵌入 SVG 图像

我正在尝试在使用 django 模板构建的网页上显示 SVG 图像。

如果我简单地说

<figure>
  <embed type="image/svg+xml" src="test.svg" width="75%" height="75%"/>
</figure>
Run Code Online (Sandbox Code Playgroud)

在 HTML 文件中,然后呈现 SVG 文件(由 Chrome)。

但是如果我尝试在 django 模板中做同样的事情,它就行不通了。我也试过使用

 <iframe src="bar_chart.svg" width="200" height="200" ></iframe>
Run Code Online (Sandbox Code Playgroud)

以及其他一些变体。

django 中显示 SVG 图像的最佳方式是什么?

django svg django-templates

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

如何在不访问数据库的情况下创建具有延迟字段的 django 模型实例?

假设我知道数据库中存在一行 django 模型的一些字段,但没有将它们封装在模型实例中。有没有什么简单的方法可以让我将它们包装在模型实例中,而无需进行额外的数据库查询,并以填充了这些字段但所有其他字段都被推迟的实例结束?

所以说我有模型:

from django.db.models import CharField, IntegerField, Model

class Person(Model):
    name = CharField(max_length=20)
    age = IntegerField(default=10)
Run Code Online (Sandbox Code Playgroud)

我有一本字典:

raw_person = {'id': 3, 'name': 'Alice'}
Run Code Online (Sandbox Code Playgroud)

我想以没有另一个数据库查询的模型实例结束:

alice = Model(id=3, name='Alice', age=<deferred>)
Run Code Online (Sandbox Code Playgroud)

这样做:

alice.name
Run Code Online (Sandbox Code Playgroud)

是即时的,但是

alice.age
Run Code Online (Sandbox Code Playgroud)

将需要对数据库进行另一次查询以获取alice.

显然(?)我不能只做:

alice = Model(id=3, name='Alice')
Run Code Online (Sandbox Code Playgroud)

因为这age = 10是场上的默认值,所以会设置,但这可能不是 Alice 的实际年龄。

有任何想法吗?

python django

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