小编Ale*_*x T的帖子

Docker - 重建和推送更新映像到docker cloud的正确方法是什么?

我目前在做什么:

Dockerfile:

FROM python:3.5.1

ENV PYTHONUNBUFFERED 1

RUN mkdir /www
WORKDIR /www
ADD deps.txt /www/
RUN pip3 install -r deps.txt
ADD . /www/
RUN chmod 0755 /www/docker-init.sh
Run Code Online (Sandbox Code Playgroud)

构建命令:

docker build -t my-djnago-app:latest .
Run Code Online (Sandbox Code Playgroud)

标记:

docker tag my-djnago-app:latest lolorama/my-djnago-app-img:latest
Run Code Online (Sandbox Code Playgroud)

推动:

docker push lolorama/my-djnago-app-img:latest
Run Code Online (Sandbox Code Playgroud)

执行这些步骤后,存储库映像仍未更新.我一直收到这条消息 - "图层已经存在".

The push refers to a repository [docker.io/lolorama/my-django-app-img]
fd5aa641b308: Layer already exists
d9c60c6f98e8: Layer already exists
d9d14867f6d7: Layer already exists
64ce166099ca: Layer already exists
73b670e35c69: Layer already exists
5f70bf18a086: Layer already exists
9ea142d097a5: Layer already exists …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-image docker-cloud

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

Django ALLOWED_HOSTS IPs范围

有没有办法在django中设置ALLOWED_HOSTS IP的范围?

像这样的东西:

ALLOWED_HOSTS = ['172.17.*.*']
Run Code Online (Sandbox Code Playgroud)

django django-settings

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

有没有办法将变量传递给Django中的"扩展"模板?

我想为我的布局模板添加一些灵活性,但我找不到任何方法.

我正在寻找一种extend带有变量的布局模板的方法,即在模板树中传递变量,而不是向下传递.

# views.py
def my_view_func(request):
    return render(request, "child.html")
Run Code Online (Sandbox Code Playgroud)
# child.html
{% extends 'layout.html' with show_sidebar=True sidebar_width_class="width_4" %}

<div>Templates stuff here</div>
Run Code Online (Sandbox Code Playgroud)
# layout.html
{% if show_sidebar %}
    <div class="{{ sidebar_width_class }}">
        {% block sidebar %}{% endblock %}
    </div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

我必须维护四个模板,但几行代码不同.例如,我有两个模板,它们通过侧边栏宽度类相互不同.难道我做错了什么?

django django-templates

22
推荐指数
2
解决办法
6477
查看次数

在 python 中两个进程之间传递消息的最快方法是什么?

我正在寻找最快的方法(就延迟而言)在两个进程之间进行通信,告知事件已发生。

更准确地说,我在共享内存中有 numpy 数组,其中一个进程(生产者)将更新写入数组,另一个进程(消费者)读取它们。

需要使用多处理,因为我们需要克服 GIL。生产者是 CPU/IO 密集型进程,它监听数据流并进行一些数据处理。

Consumer 是一个非常轻量且大部分空闲的进程,但是当 Producer 更新数组时我们需要尽快唤醒它。

还有一件事。以最小的延迟触发消费者比传输所有消息更重要。(例如,如果生产者连续发送三个消息而没有延迟,而消费者仅收到第一个消息并丢失了后面的两个消息 - 没关系。)


为此,我尝试了多处理原语 Pipe、Queue、Event,看起来它们在延迟方面几乎相同。管道是最稳定的。

多处理.管道

import multiprocessing as mp
import numpy as np
import random
import time

ITER_COUNT = 1000


def get_mcs_diff(ts):
    return round((time.time() - ts) * 1e6, 0)


def main(v, input_pipe):
    for _ in range(ITER_COUNT):
        v.value = time.time()
        input_pipe.send(None)
        time.sleep((0.1 + random.random()) / 100)


if __name__ == "__main__":
    v = mp.Value('d', time.time())
    (ip, op) = mp.Pipe()
    p = mp.Process(target=main, args=(v, ip,))
    measurements = []

    p.start()
    i …
Run Code Online (Sandbox Code Playgroud)

python message-queue multiprocessing

9
推荐指数
0
解决办法
1656
查看次数

Terraform 资源继承

有没有办法声明一个抽象资源来继承?

例子:

resource "digitalocean_droplet" "worker_abstract" {
  abstract = true // ???

  name = "swarm-worker-${count.index}"
  tags = [
    "${digitalocean_tag.swarm_worker.id}"
  ]

  // other config stuff

  provisioner "remote-exec" {
    //...
  }
}
Run Code Online (Sandbox Code Playgroud)

然后使用带有覆盖变量的声明资源:

resource "worker_abstract" "worker_foo" {
  count = 2
  name = "swarm-worker-foo-${count.index}"
  tags = [
    "${digitalocean_tag.swarm_worker.id}",
    "${digitalocean_tag.foo.id}"
  ]
}

resource "worker_abstract" "worker_bar" {
  count = 5
  name = "swarm-worker-bar-${count.index}"
  tags = [
    "${digitalocean_tag.swarm_worker.id}"
    "${digitalocean_tag.bar.id}"
  ]
}
Run Code Online (Sandbox Code Playgroud)

terraform

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

模型父类字段上的 Django unique_together

我想用呈现 GenericForeignKey 字段的模型来概括我的工作流程。

所以我创建了父类 GFKModel:

class GFKModel(models.Model):
    target_content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    target_id = models.PositiveIntegerField()
    target = GenericForeignKey('target_content_type', 'target_id')
Run Code Online (Sandbox Code Playgroud)

然后我继承它:

class Question(GFKModel):
    author = models.ForeignKey(User)
    text = models.TextField()

    class Meta:
        unique_together = ('author', 'target_content_type', 'target_id')
Run Code Online (Sandbox Code Playgroud)

我需要在 'author'、'target_content_type' 和 'target_id' 上添加 unique_together 约束,但由于迁移错误我不能这样做:

qna.Question: (models.E016) 'unique_together' refers to field 'target_content_type' which is not local to model 'Question'.
HINT: This issue may be caused by multi-table inheritance.
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

django inheritance django-models

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

将'auto_now'DateTimeField添加到现有的Django模型

是否可以添加到现有模型auto_nowauto_now_addDateTime字段?

class ExistingModel(models.Model):
    # ... model stuff
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

我们无法添加此字段default,但添加该default值会产生错误:

./manage.py makemigrations

收益:

(fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.
Run Code Online (Sandbox Code Playgroud)

python django django-models

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

熊猫滚动转置?

pandas 是否可以将滚动窗口转置为行?

pandas.DataFrame.rolling

>> df
    Close
0   3.69 
1   9.14 
2   9.49 
3   15.84
4   17.00
5   26.31
Run Code Online (Sandbox Code Playgroud)

pandas 中有收费操作,可以给我想要转置的最后 N 个值,但如何将它们插入到行中?

>> df
    Close    1       2      3 
0   3.69     NaN     NaN    NaN
1   9.14     3.69    NaN    NaN
2   9.49     9.14    3.69   NaN
3   15.84    9.49    9.14   3.69
4   17.00    15.84   9.49   9.14
5   26.31    17.00   15.84  9.49
Run Code Online (Sandbox Code Playgroud)

pandas

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

Django 站点地图错误 - TemplateDoesNotExist

我在 django 站点地图视图中遇到错误。

TemplateDoesNotExist at /sitemap.xml
sitemap_index.xml
Run Code Online (Sandbox Code Playgroud)

模板加载器可能有问题,但我无法弄清楚到底是什么。

有我的模板配置:

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'templates')],
    'OPTIONS': {
        'loaders': [
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
        ],
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            'django.core.context_processors.media',
        ],
    },
},
Run Code Online (Sandbox Code Playgroud)

]

有没有人有建议?

sitemap django django-templates

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

将文件从远程URL流到Django视图响应

有什么办法可以使用Django Response从远程URL流式传输文件(而无需在本地下载文件)?

# view.py
def file_recover(request, *args, **kwargs):    
    file_url = "http://remote-file-storage.com/file/111"

    return StreamFileFromURLResponse(file_url)
Run Code Online (Sandbox Code Playgroud)

我们有文件存储空间(文件可能很大-1 GB或更多)。我们无法共享下载网址(存在安全问题)。通过将下载流转发到Django响应,文件流可以大大提高下载速度。

django response

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

如何在 BigQuery 中执行 Pandas 列转换?

假设我们有一个包含以下数据的数据集:

timestamp,col1

1533286270,1
1533286271,2
1533286272,3
1533286273,4
1533286274,5
Run Code Online (Sandbox Code Playgroud)

我想获得之前的col1col1_prev以便能够比较它们。结果应该是一样的pandas.shift(-1)

如何使用纯 SQL 查询实现此功能?

查询结果应如下所示:

timestamp,col1,col1_prev

1533286270,1,NULL
1533286271,2,1
1533286272,3,2
1533286273,4,3
1533286274,5,4
Run Code Online (Sandbox Code Playgroud)

google-bigquery

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

每个ID分区技术的Google BigQuery

我有BigQuery表与时间序列财务数据(价格,数量和其他东西):

ts:TIMESTAMP,
asset_id:INTEGER,
metric1:INTEGER,
metric2:INTEGER,
...
metricN:FLOAT
Run Code Online (Sandbox Code Playgroud)

id 是Postgres数据库中的外部ID.

最常见和最常见的查询是过滤id.例如:

SELECT ts, metric1, metric2 WHERE id = 12;
Run Code Online (Sandbox Code Playgroud)

是否有通过对数据进行分区的好方法timestamp,并id在同一时间?


我正在考虑创建每个id表(gc_project_name.per_id_dataset.{asset_id})并查询它们以获得更好的性价比.

哪些问题会导致这种方法?我们有~5k ids,10-20k就足够多年了.

google-bigquery

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