我知道这与这个问题有关,但我最关心的是这是否可能会混淆诸如保留的评论等内容.
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) 我有一个模型,其中缩略图宽度在父对象(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) 怎么了?
我该如何修复它?
.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)
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) 我想在我的表单中选择这些字段但是......
{"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 ×2
python ×2
amazon-ecr ×1
docker ×1
gitlab-ci ×1
imagekit ×1
kaniko ×1
ruamel.yaml ×1
yaml ×1