我已经在我的 django 应用程序中集成了 Pyuploadcare 模块。我在我的应用程序的 models.py 中添加了一个 ImageField,如下所示。个人用户访问的编辑页面中不显示封面字段的图像上传。
在 django 的管理控制台中,pyuploadcare API 集成工作正常。
from pyuploadcare.dj.models import ImageField
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
date_of_birth = models.DateField(blank=False, null=True)
img = models.ImageField(upload_to=upload_to, blank=True, db_index=True)
slug = models.SlugField(max_length=200, blank=True)
cover = ImageField(blank=True, manual_crop="")
User_edit 页面如下所示:
<pre>
{% block content %}
<div class="edit-form">
<h1>Edit your account</h1>
<p>You can edit your account using the following form:</p>
<form action="." method="post" enctype="multipart/form-data" id="controlForm">
{{ user_form.as_p }}
{% csrf_token %}
{{ profile_form.as_p}}
<p><input type="submit" value="Save changes"></p>
</form>
</div>
{% endblock %}
</pre>
我已尝试更新从 forms.py 生成的表单,如下所示
class ProfileEditForm(forms.ModelForm):
cover = ImageField(label='')
class Meta:
model = Profile
fields = ('date_of_birth', 'img', 'cover')
widgets = {
'date_of_birth': DateInput(),
}
表单生成隐藏类型的封面
预期结果是
<tr><th></th><td><input type="file" name="cover" value="https://ucarecdn.com/182065fa-d558-47e5-beb6-0d0c3dd8baf2/" role="uploadcare-uploader" data-public-key="bce890ec49219565dc75" data-integration="Django/2.1.7; PyUploadcare-Django/2.6.0" data-images-only="" re
quired id="id_cover"></td></tr>
实际结果是在页面渲染期间从views.py捕获的
实际结果是:
<tr><th></th><td><input type="hidden" name="cover" value="https://ucarecdn.com/182065fa-d558-47e5-beb6-0d0c3dd8baf2/" role="uploadcare-uploader" data-public-key="bce890ec49219565dc75" data-integration="Django/2.1.7; PyUploadcare-Django/2.6.0" data-images-only="" re
quired id="id_cover"></td></tr>
结果是从我生成的配置文件表单的views.py中捕获的
作为参考,下面提供了 Github 链接,受影响的应用程序名称是 Accounts。 https://github.com/bikirandas/OmexOnline
在下面的链接https://github.com/bikirandas/OmexOnline/issues/5的 GIthub 中也为相同的问题创建了问题