7

如何在管理员外部调用上传小部件?使用下面的标准表格不起作用。小部件已损坏。

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 }}

文档中绝对没有提到这一点。如何在管理员之外上传照片?

编辑:(添加了上面 django 生成的代码)

<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" />
   &nbsp;<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 未定义”

是不是我需要知道要包含哪些 css 以及要加载哪些 javascript 文件?

4

1 回答 1

3

首先,{{ form.media }}在您的 html 文件中添加标签<form>{% csrf_token %}. 然后按照 SteinRobert 在 Github 问题上的解释扩展您ModelForm的媒体类: https ://github.com/divio/django-cms/issues/6028 。它完美无缺!谢谢斯坦!forms.py

于 2017-11-21T10:16:08.840 回答