Django Pyuploadcare ImageField上载选项在useredit html页面上不可见
我已经在django应用程序中集成了Pyuploadcare模块。我在应用程序的models.py中添加了一个ImageField,如下所示。个人用户访问的编辑页面中不显示封面字段的图像上载 其中,pyuploadcare API集成在django的管理控制台上运行良好 用户编辑页面如下所示: 表单生成类型为“隐藏”的封面 预期结果为Django Pyuploadcare ImageField上载选项在useredit html页面上不可见,django,python-3.x,uploadcare,Django,Python 3.x,Uploadcare,我已经在django应用程序中集成了Pyuploadcare模块。我在应用程序的models.py中添加了一个ImageField,如下所示。个人用户访问的编辑页面中不显示封面字段的图像上载 其中,pyuploadcare API集成在django的管理控制台上运行良好 用户编辑页面如下所示: 表单生成类型为“隐藏”的封面 预期结果为 如果您使用的是pyuploadcare.dj.models.ImageField您实际捕获的字符串包含用户上传文件的CDN URL,则呈现的HTML中的实际结果
如果您使用的是pyuploadcare.dj.models.ImageField
您实际捕获的字符串包含用户上传文件的CDN URL,则呈现的HTML中的实际结果确实是预期结果
很可能是您忘记将javascript库加载到页面。只需将此添加到模板中:
UPLOADCARE_PUBLIC_KEY='*您的密钥*';
它的工作原理与管理页面上的相同。在管理页面上,正在加载这些媒体。这里的实际问题是什么?您的预期结果是错误的,该字段应呈现为input type=hidden:)可能问题在于您没有在页面上加载uploadcare小部件库,并且隐藏的输入没有得到处理。实际问题是-我无法上载my models.py文件中定义的封面字段选项的图像。封面字段使用pyuploadcare模块进行图像上传。django管理界面中也有相同的选项,但当用户试图从useredit页面编辑配置文件时,该选项不可用。@DmitryMukhin是的,我面临隐藏输入的问题。表单生成的输入类型为“Hidden”@DmitryMukhin-您可以检查我的预期结果和实际结果代码。你会了解这个问题的。
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="")
<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>
class ProfileEditForm(forms.ModelForm):
cover = ImageField(label='')
class Meta:
model = Profile
fields = ('date_of_birth', 'img', 'cover')
widgets = {
'date_of_birth': DateInput(),
}
<script>
UPLOADCARE_PUBLIC_KEY = '*your key*';
</script>
<script src="https://ucarecdn.com/libs/widget/3.x/uploadcare.full.min.js"></script>