Django图像裁剪无法在管理界面外部工作

时间:2018-08-06 16:09:17

标签: python django django-forms

我希望在django管理界面之外使用django-image-cropping。里面正在工作。我也可以得到django-image-cropping的示例。但这只是没有显示正确的小部件。为什么?

我的模型摘录:

# ...
class Person(TranslatableModel):
    # ...
    pic = ImageCropField(_("profile picture"),
                         blank=True,
                         null=True,
                         upload_to=settings.USER_PICTURE_DIR,
                         )
    picture_cropped = ImageRatioField(
        'pic',
        '{}x{}'.format(*settings.USER_PICTURE_SIZE)
    )
    # ...

我的form.py的摘录:

# ...
class PersonUpdateForm(ModelForm):
    # ...
    class Meta:
        model = Person
        fields = [
            'pic',
            'picture_cropped',
        ]

我的views.py摘录:

# ...
class PersonUpdateView(LoginRequiredMixin, OnlySelfMixin, UpdateView):
    model = Person
    template_name = 'persons/person_intern_form.html'
    form_class = PersonUpdateForm
    # ...

我的person_intern_form.html的摘录:

{% extends 'intern/intern_base.html' %}
{% load i18n sekizai_tags %}

{% block main_content %}
    <form action="{{ action }}" method="POST" enctype="multipart/form-data">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" value="Save"/>
    </form>
{% endblock main_content %}

{% addtoblock "css" %}
    {{ form.media.css }}
{% endaddtoblock %}

{% addtoblock "js" %}
    {{ form.media.js }}
{% endaddtoblock %}

屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:0)

这里有两个问题:

  1. sekizai_tags必须位于一个块中:https://django-sekizai.readthedocs.io/en/latest/#restrictions
  2. jquery尚未正确加载。 (在代码中不可见)