跳转到主要内容

一个用于管理与内容对象关联的图像集合的应用

项目描述

Pinax 图像

Build Codecov

目录

关于 Pinax

Pinax 是一个基于 Django Web 框架的开源平台。它是一个可重用 Django 应用、主题和起始项目模板的生态系统。这个集合可以在 http://pinaxproject.com 找到。

重要链接

您可以在哪里找到您需要的内容

pinax-images

概述

pinax-images 是一个用于管理与任何内容对象相关的图像集合的应用。

依赖项

  • django-appconf>=1.0.1
  • django-imagekit>=3.2.7
  • pilkit>=1.1.13
  • pillow>=3.3.0
  • pytz>=2016.6.1

支持的 Django 和 Python 版本

Django / Python 3.6 3.7 3.8 3.9 3.10
2.2 * * * * *
3.2 * * * * *

文档

安装

要安装 pinax-images

    $ pip install pinax-images

pinax.images 添加到您的 INSTALLED_APPS 设置

INSTALLED_APPS = [
    # other apps
    "pinax.images",
]

特定于 pinax-images 的设置可以在 设置 部分找到。

pinax.images.urls 添加到您的项目 urlpatterns

    urlpatterns = [
        # other urls
        url(r"^ajax/images/", include("pinax.images.urls", namespace="pinax_images")),
    ]

用法

将图像集合功能添加到您的应用程序!

首先,在您的内容对象上添加一个到 ImageSetOneToOneField

from pinax.images.models import ImageSet

class YourModel():
    # other fields
    image_set = models.OneToOneField(ImageSet)

在您的用于创建内容对象的视图中,您应该为每个新的内容对象创建一个新的 ImageSet

class ObjectCreateView(CreateView):

    def form_valid(self, form):
        form.instance.image_set = ImageSet.objects.create(created_by=self.request.user)
        return super(CloudSpottingCreateView, self).form_valid(form)

最后,您可能希望在图像面板出现的地方包含一个类似这样的片段(如果您使用的是相关的 pinax-images-panel ReactJS 前端)

{% if image_set %}
    {% url "pinax_images:imageset_upload" image_set.pk as upload_url %}
{% else %}
    {% url "pinax_images:imageset_new_upload" as upload_url %}
{% endif %}
<div id="image-panel" data-images-url="{% if image_set %}{% url "pinax_images:imageset_detail" image_set.pk %}{% endif %}"
                        data-upload-url="{{ upload_url }}"
                        data-image-set-id="{{ image_set.pk }}">
</div>

设置

以下设置允许您指定项目中 pinax-images 的行为。

自定义缩略图规范

默认情况下,pinax-images 维护四个缩略图规范,用于上传图像的缩略图生成。这些规范(如下所示)位于 pinax/images/specs.py 中。

PINAX_IMAGES_THUMBNAIL_SPEC = "pinax.images.specs.ImageThumbnail"
PINAX_IMAGES_LIST_THUMBNAIL_SPEC = "pinax.images.specs.ImageListThumbnail"
PINAX_IMAGES_SMALL_THUMBNAIL_SPEC = "pinax.images.specs.ImageSmallThumbnail"
PINAX_IMAGES_MEDIUM_THUMBNAIL_SPEC = "pinax.images.specs.ImageMediumThumbnail"

您可以通过创建自己的继承自 ImageSpec 的规范类来自定义缩略图选项

from imagekit import ImageSpec
from pilkit.processors import ResizeToFit

class MyCustomImageThumbnail(ImageSpec):
    processors = [ResizeToFit(800, 600)]
    format = "JPEG"
    options = {"quality": 90}

并在您的应用程序 settings.py 中覆盖 pinax-image 规范:

PINAX_IMAGES_THUMBNAIL_SPEC = "{{my_app}}.specs.MyCustomImageThumbnail"

变更日志

5.0.0

  • 添加对 Python 3.9 和 3.10 以及 Django 3.2 的支持
  • 删除 Django 3.1
  • 处理弃用和一些一般现代化
  • 更新打包配置

4.0.1

  • 删除对 Django 1.11、2.0 和 2.1 以及 Python 2.7、3.4 和 3.5 的支持
  • 添加对 Django 2.2 和 3.0 以及 Python 3.6、3.7 和 3.8 的支持
  • 更新打包配置
  • 将用户引导至社区资源

3.0.2

  • 使用 format_html() 在管理预览中转义 HTML 标签

3.0.1

  • 标准化文档和徽章
  • 从 setup.py install_requires 中删除 django-appconf
  • 添加用于 isort 的第三方库
  • 添加 trove 分类器

3.0.0

  • 添加 Django 2.0 兼容性测试
  • 删除对 Django 1.8、1.9、1.10 和 Python 3.3 的支持
  • 将CI和覆盖率转换为CircleCi和CodeCov
  • 添加兼容PyPi的长描述
  • 将文档移动到README.md

2.2.0

  • 将文档移动到README.md
  • upload_to路径更改为具有图像设置PK

2.1.0

  • 仅当存在缩略图时显示缩略图

2.0.0

  • 修改一些视图的访问权限

    • ImageSet详情视图现在任何认证用户都可以访问
    • 图像删除视图现在仅图像所有者可以访问。
    • 图像"切换主图"视图现在仅图像所有者可以访问。

1.0.0

  • 更新Pinax 16.04版本

0.2.1

  • 改进文档

0.2.0

  • 将DUA作为可选要求PR #14

0.1.1

  • 添加Pillow到安装需求

0.1

  • 初始发布

贡献

贡献信息可以在Pinax社区健康文件仓库中找到。

行为准则

为了培养一个友好、包容且无骚扰的社区,Pinax项目有一个行为准则。我们要求您将每个人都视为一个聪明的程序员,他们与您分享对Python、Django和Pinax的兴趣。

与 Pinax 联系

有关Pinax项目的更新和新闻,请关注我们的Twitter @pinaxproject并查看我们的Pinax项目博客

许可证

版权(c)2012-至今James Tauber和贡献者,根据MIT许可证

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

pinax-images-5.0.1.tar.gz (13.9 kB 查看散列)

上传时间

构建分发

pinax_images-5.0.1-py3-none-any.whl (13.7 kB 查看散列)

上传时间 Python 3

支持者

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