一种支持主题位置的模型图像场

django-subject-imagefield的Python项目详细描述


django主题图像字段

此包提供了一个SubjectImageField模型字段,该字段继承自核心ImageField,并添加了对主题位置的支持。 位置坐标存储在另一个定义为选项的模型字段中(与宽度和高度可选的imagefield参数一起出现)。 使用自定义表单字段和小部件,使用户可以轻松设置图像主题,并在图像预览上拖动图钉。 为了访问模板中的主题位置坐标,在字段的attr_class中添加了一些方便的属性。

将它与某种拇指生成器应用程序一起使用,以便始终显示图像的相关部分,我发现它与sorl-thumbnail配合得很好。

screencast

测试django>;=1.11

安装

使用pip安装

$ pip install django-subject-imagefield

将其添加到已安装的应用程序:

INSTALLED_APPS = {
    #...
    subject_imagefield,
}

配置

您可以设置小部件的图像预览宽度:

SUBJECT_IMAGEFIELD = {
    'PREVIEW_WIDTH': 500
}

值被视为像素数,默认值为300。

用法

在您的车型中:

from subject_imagefield.fields import SubjectImageField

class MyModel(models.Model):
    image = SubjectImageField('image', upload_to='pages/img', subject_location_field='subject_location')
    subject_location = models.CharField('subject coords', max_length=7)

在django模板中,您可以访问以下属性:

  • subject_perc_position:以百分比坐标包含主题位置的字典,即:{'x': 15, 'y': 37}
  • subject_position:包含px中相对于原始图像维度的主题位置坐标的字典,即:{'x': 700, 'y': 345}
  • sorl:获取用作sorl缩略图模板标记裁剪参数的字符串的快捷方式,即:'15% 37%'

示例:

{% load sorl_thumbnail %}

<p>Perc. subject position: {{ object.image.subject_perc_position }}</p>
<p>Original dimensions subject position: {{ object.image.subject_position }}</p>
<p>Thumb cropped considering subject position:</p>
{% thumbnail object.image "200x800" crop=object.image.sorl as thumb %}
<img src="{{ thumb.url }}" alt="ftw" />
{% endthumbnail %}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
onclicklistner中的java全局变量   Android中的Tensorflow:java。尼奥。BufferOverFlowException   java无法预先部署处于无效状态的PersistenceUnit[PU][DeployFailed]   java Liferay;将其他参数传递给jQuery UI aotocompleter   java如何使用Netflix/Eureka服务中的发现信息在Netflix/Zuul和Netflix/Ribbon中启用自动路由?   java如何使用命令打开spotlight   java Android为按钮分配数组值   jsp java。NoClassDefFoundError:即将推出java servlet   应用程序存储设置的java意图   java Android viewflow验证   java如何为多个列表重用BaseAdapter视图   在Java中,socket通过internet发送多播数据包   JavaXStream加载自定义XML