一个用于管理与内容对象关联的图像集合的应用
项目描述
Pinax 图像
目录
关于 Pinax
Pinax 是一个基于 Django Web 框架的开源平台。它是一个可重用 Django 应用、主题和起始项目模板的生态系统。这个集合可以在 http://pinaxproject.com 找到。
重要链接
您可以在哪里找到您需要的内容
- 版本:发布到 PyPI 或在 Pinax GitHub 组织 的应用仓库中标记
- 全局文档:Pinax 文档网站
- 特定应用的文档:在 Pinax GitHub 组织 的应用仓库中
- 支持信息:在 SUPPORT.md 文件中,位于 Pinax 默认社区健康文件仓库
- 贡献信息:在 CONTRIBUTING.md 文件中,位于 Pinax 默认社区健康文件仓库
- 当前和历史上的发布文档:Pinax Wiki
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")),
]
用法
将图像集合功能添加到您的应用程序!
首先,在您的内容对象上添加一个到 ImageSet
的 OneToOneField
:
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许可证。
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。