小编dem*_*mux的帖子

我可以在ruamel.yaml的CommentedMap中插入一行吗?

我知道这与这个问题有关,但我最关心的是这是否可能会混淆诸如保留的评论等内容.

import ruamel.yaml as yaml

yaml_str = """\
first_name: Art
occupation: Architect  # This is an occupation comment
about: Art Vandelay is a fictional character that George invents...
"""

data = yaml.load(yaml_str, Loader=yaml.RoundTripLoader)

# I'd like to extend CommentedMap so that I can do something like:
data.insert(1, 'last_name', 'Vandelay')

print(yaml.dump(data, Dumper=yaml.RoundTripDumper))
Run Code Online (Sandbox Code Playgroud) 应输出:
first_name: Art
last_name: Vandelay
occupation: Architect  # This is an occupation comment
about: Art Vandelay is a fictional character that George invents...
Run Code Online (Sandbox Code Playgroud) 如若不是输出:
first_name: …
Run Code Online (Sandbox Code Playgroud)

python yaml ordereddictionary ruamel.yaml

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

django imagekit处理器:使用存储在数据库中的维度

我有一个模型,其中缩略图宽度在父对象(ForeignKey)之间变化.我需要能够将此信息提供给imagekit处理器.这就是我所拥有的:

class Wall(models.Model):
    #...
    width = models.SmallIntegerField(null=True, blank=True)
    #...


class Poster(models.Model):
    wall = models.ForeignKey(Wall, related_name='posters')
    #...
    original_image = models.ImageField(upload_to=upload_image_to)

    def __init__(self, *args, **kwargs):
        self.thumbnail = ImageSpecField([
                Adjust(contrast=1.2, sharpness=1.1),
                SmartResize(height=163, width=self.wall.width)
            ],
            image_field='original_image', format='PNG'
        )

        super(Poster, self).__init__(*args, **kwargs)
    #...
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,没有任何反应,甚至没有生成缩略图网址.

以下将导致此异常:
AttributeError:'ForeignKey'对象没有属性'width'

class Poster(models.Model):
    wall = models.ForeignKey(Wall, related_name='posters')
    #...
    original_image = models.ImageField(upload_to=upload_image_to)

    thumbnail = ImageSpecField([
            Adjust(contrast=1.2, sharpness=1.1),
            SmartResize(height=163, width=wall.width)
        ],
        image_field='original_image', format='PNG'
    )
    #...
Run Code Online (Sandbox Code Playgroud)

python django imagekit django-imagekit

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

Gitlab CI 上的 Kaniko 无法将层缓存上传到 Amazon ECR

Kaniko 将图像上传到 ECR,但无法上传图层缓存。

怎么了?
我该如何修复它?

.gitlab-ci.yml

.backend:
  variables:
    AWS_PAGER: ""
    AWS_DEFAULT_REGION: eu-west-1
    RUNNER_IMAGE: ${ECR_REGISTRY}/${ECR_IMAGE}:latest
    RUNNER_IMAGE_COMMIT: ${ECR_REGISTRY}/${ECR_IMAGE}:${CI_COMMIT_SHORT_SHA}

  only:
    refs:
      - master
    changes:
      - acme/**/*
      - saleor/**/*
      - .gitlab-ci.yml
      - Dockerfile

Build:
  extends: .backend
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:v1.9.1-debug
    entrypoint: [""]
  variables:
    AWS_ACCESS_KEY_ID: ${ECR_AWS_ACCESS_KEY_ID}
    AWS_SECRET_ACCESS_KEY: ${ECR_AWS_SECRET_ACCESS_KEY}
  script:
    - mkdir -p /kaniko/.docker
    - echo "{\"credsStore\":\"ecr-login\"}" > /kaniko/.docker/config.json
    - >-
      /kaniko/executor
      --cache=true
      --context $CI_PROJECT_DIR
      --dockerfile $CI_PROJECT_DIR/Dockerfile
      --destination $RUNNER_IMAGE
      --destination $RUNNER_IMAGE_COMMIT
Run Code Online (Sandbox Code Playgroud)

错误 Kaniko 日志中的相关行:

INFO[0005] Taking snapshot of full filesystem...        
INFO[0007] Pushing layer xxxxxxxxxxxx.dkr.ecr.eu-west-1.amazonaws.com/acme-saleor-api/cache:85aca5582bb6057d98714aa75c1aee4e5646ecc08f8d6a412b135f0707578786 to …
Run Code Online (Sandbox Code Playgroud)

docker gitlab-ci amazon-ecr kaniko

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

即使required = false,Django Rest Framework的serializer.is_valid()也会引发验证错误

我想在我的表单中选择这些字段但是......

错误:

{"name":["This field may not be blank."],"email":["This field may not be blank."]}
Run Code Online (Sandbox Code Playgroud)

串行:

class StudentSerializer(ModelSerializer):
    name = CharField(read_only=False, required=False, allow_null=True)
    user = StudentUserSerializer(read_only=True)
    invite = StudentInviteSerializer(read_only=True)

    email = CharField(read_only=False, required=False, allow_null=True)

    class Meta:
        model = Student
        fields = ('id', 'name', 'user', 'invite', 'email')
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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