Pyuploadcare ImageField 上传选项在 useredit html 页面不可见
Pyuploadcare ImageField upload option is not visible at useredit html page
我已经在我的 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 link 作为参考,受影响的应用程序名称是帐户。
https://github.com/bikirandas/OmexOnline
下面的 GIthub 中也出现了同样的问题 link
https://github.com/bikirandas/OmexOnline/issues/5
呈现的实际结果 HTML 确实是预期结果,如果您使用 pyuploadcare.dj.models.ImageField
您实际捕获的字符串包含用户上传文件的 CDN URL。
您很可能忘记将 javascript 库加载到您的页面。只需将其添加到您的模板中:
<script>
UPLOADCARE_PUBLIC_KEY = '*your key*';
</script>
<script src="https://ucarecdn.com/libs/widget/3.x/uploadcare.full.min.js"></script>
它的工作方式与管理页面相同。在管理页面上,正在加载这些媒体 automatically。
我已经在我的 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 link 作为参考,受影响的应用程序名称是帐户。 https://github.com/bikirandas/OmexOnline
下面的 GIthub 中也出现了同样的问题 link https://github.com/bikirandas/OmexOnline/issues/5
呈现的实际结果 HTML 确实是预期结果,如果您使用 pyuploadcare.dj.models.ImageField
您实际捕获的字符串包含用户上传文件的 CDN URL。
您很可能忘记将 javascript 库加载到您的页面。只需将其添加到您的模板中:
<script>
UPLOADCARE_PUBLIC_KEY = '*your key*';
</script>
<script src="https://ucarecdn.com/libs/widget/3.x/uploadcare.full.min.js"></script>
它的工作方式与管理页面相同。在管理页面上,正在加载这些媒体 automatically。