跳转到主要内容

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 (6.4 kB 查看哈希值)

上传时间 源代码

构建分发

AX3_model_extras-2.0.0-py3-none-any.whl (8.1 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面