Django应用AX3模型附加组件
项目描述
AX3 Model Extras
安装
AX3 Model Extras可以从PyPI包轻松安装
$ pip install ax3-model-extras
要使您的项目中启用ax3_model_extras,您需要将其添加到settings.py文件中的INSTALLED_APPS
INSTALLED_APPS = (
...
'ax3_model_extras',
...
)
验证图像大小
如果您想验证图像的尺寸和文件大小
from ax3_model_extras.validators import FileSizeValidator, ImageDimensionValidator
class Post(models.Model):
title = models.CharField()
slug = models.SlugField()
image = models.ImageField(
validators=[ImageDimensionValidator([1920, 800]), FileSizeValidator(350)],
help_text='JPG. 1920x800px. 350kb max.',
)
如果您想验证一个维度,您必须将另一个维度发送为0
from ax3_model_extras.validators import FileSizeValidator, ImageDimensionValidator
class Post(models.Model):
title = models.CharField()
slug = models.SlugField()
image = models.ImageField(
validators=[ImageDimensionValidator([1920, 0]), FileSizeValidator(350)],
help_text='JPG. width=1920px. 350kb max.',
)
改进文件存储
如果您想改进本地文件存储或使用S3上传
from ax3_model_extras.storages import get_storage, get_upload_path
class Post(models.Model):
title = models.CharField()
slug = models.SlugField()
image = models.ImageField(
upload_to=get_upload_path,
storage=get_storage(),
)
在上传前优化图像。
使用方式
from ax3_model_extras.fields import OptimizedImageField
class Post(models.Model):
title = models.CharField()
slug = models.SlugField()
image = OptimizedImageField()
如果您想使用'cover'方法设置图像大小,请执行以下操作:
image = OptimizedImageField(
optimized_image_output_size=(1920, 800),
)
如果您想使用'thumbnail'方法设置图像大小,请执行以下操作:
image = OptimizedImageField(
optimized_image_output_size=(1920, 800),
optimized_image_resize_method='thumbnail',
)
如果您想限制文件格式(如果不设置,则支持JPEG、PNG和GIF)
image = OptimizedImageField(
optimized_image_output_size=(1920, 800),
optimized_image_resize_method='thumbnail',
optimized_file_formats=['PNG'],
)
如果您想指定图像质量(如果不设置,则默认为75)
image = OptimizedImageField(
optimized_image_output_size=(1920, 800),
optimized_image_resize_method='thumbnail',
optimized_file_formats=['PNG'],
optimized_image_quality=85.5,
)
调整大小使用python-resize-image
发布新版本
请确保您增加版本号并创建git标签
$ python3 -m pip install --user --upgrade setuptools wheel twine
$ ./release.sh
由Axiacore制作。
项目详情
关闭
AX3 model extras-2.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a5457842e09ec788f7ee9f5c2b958fae243feb5639028038185384b0e5dfdea |
|
MD5 | 49e317432695e620d2f26aa236b6b0e6 |
|
BLAKE2b-256 | 93f00fca3798b3e528361aafdd7e885ff5bf5c9df30c1c391d724e605feb8b76 |
关闭
AX3_model_extras-2.0.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 322d288633ffc3740273dfc27f589aaacbf7682050d4e1c3bd9b671071af9df0 |
|
MD5 | 0e8c9549893284ea43ab0f8eb30841d9 |
|
BLAKE2b-256 | c0e58144c1c2a295e80eecfa614d88906227e1bfc747a4fcc59e22837b317d1e |