Django-Filer:如何在admin外部调用上载小部件 [英] Django-Filer: How to invoke upload widget outside admin
问题描述
如何在Admin外部调用上载小部件? 使用下面的标准表格不起作用.小部件已损坏.
How do I invoke the upload widget outside Admin? Using the standard form below does not work. The widget is corrupted.
forms.py
class PhotoAdd(forms.ModelForm):
class Meta:
model = Photo
fields = ('ImageFilerField',)
views.py
def photoadd(request):
context={}
context['form'] = PhotoAdd()
render(request, 'template.html', context)
template.html
{{ form }}
文档中绝对没有对此进行引用. 如何在管理员外部上传照片?
There is absolutely no reference to this in the documentation. How can I upload photos outside admin?
(从上面的django添加了生成的代码)
(added generated code from django above)
<label for="id_doc_pic">Doc pic:</label>
</th>
<td>
<span class="filerFile">
<img id="id_doc_pic_thumbnail_img" src="/static/filer/icons/nofile_48x48.png" class="quiet" alt="no file selected" />
<span id="id_doc_pic_description_txt"></span>
<a href="/admin/filer/folder/last/?_to_field=file_ptr" class="related-lookup" id="lookup_id_doc_pic" title="Lookup">
<img src="/static/admin/img/icon_searchbox.png" width="16" height="16" alt="Lookup" /></a><img id="id_doc_pic_clear" class="filerClearer" src="/static/admin/img/icon_deletelink.gif" width="10" height="10" alt="Clear" title="Clear" style="display: none;" /><br />
<input class="vForeignKeyRawIdAdminField" id="id_doc_pic" name="doc_pic" type="text" />
<script type="text/javascript" id="id_doc_pic_javascript">
django.jQuery(document).ready(function(){
var plus = django.jQuery("#add_id_doc_pic");
if (plus.length){
plus.remove();
}
django.jQuery('#id_doc_pic_javascript').remove();
});
</script>
</span>
Javascript错误:未捕获的ReferenceError:未定义django"
Javascript Error: "Uncaught ReferenceError: django is not defined"
可能是我需要知道要包括的CSS和要加载的JavaScript文件吗?
Could it be that I need to know what css to include and what javascript files to load?
推荐答案
首先,在<form>
和{% csrf_token %}
标记之后,在html文件中添加{{ form.media }}
.然后按照SteinRobert在Github问题上的解释,在forms.py
的ModelForm
中扩展媒体类:
First of all, add {{ form.media }}
in your html file, just after the tag <form>
and {% csrf_token %}
. Then extend the media class in your ModelForm
of forms.py
as explained by SteinRobert on Github issue: https://github.com/divio/django-cms/issues/6028. It works perfect! Thanks Stein!
这篇关于Django-Filer:如何在admin外部调用上载小部件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!