【问题标题】:How can i write my own custom form widget in django我如何在 django 中编写自己的自定义表单小部件
【发布时间】:2012-11-11 12:55:11
【问题描述】:

我有 django 形式的文件字段。 现在我希望在渲染期间我的那个文件字段被 jquery fileupload 插件替换。

我怎样才能做到这一点

http://blueimp.github.com/jQuery-File-Upload/

【问题讨论】:

    标签: jquery python django forms file-upload


    【解决方案1】:

    您不需要自定义表单小部件。您需要在 django 模板中显示您的表单,使其具有以下设置 - https://github.com/sigurdga/django-jquery-file-upload/blob/master/fileupload/templates/fileupload/picture_form.html

    这些js文件包括在内:-

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script src="{{ STATIC_URL }}js/jquery.ui.widget.js"></script>
    <script src="{{ STATIC_URL }}js/tmpl.min.js"></script>
    <script src="{{ STATIC_URL }}js/load-image.min.js"></script>
    <script src="{{ STATIC_URL }}js/canvas-to-blob.min.js"></script>
    <script src="{{ STATIC_URL }}js/bootstrap.min.js"></script>
    <script src="{{ STATIC_URL }}js/bootstrap-image-gallery.min.js"></script>
    <script src="{{ STATIC_URL }}js/jquery.iframe-transport.js"></script>
    <script src="{{ STATIC_URL }}js/jquery.fileupload.js"></script>
    <script src="{{ STATIC_URL }}js/jquery.fileupload-fp.js"></script>
    <script src="{{ STATIC_URL }}js/jquery.fileupload-ui.js"></script>
    <script src="{{ STATIC_URL }}js/locale.js"></script>
    <script src="{{ STATIC_URL }}js/main.js"></script>
    <script src="{{ STATIC_URL }}js/csrf.js"></script>
    

    您的表单 html 包含这些元素,表单的 id 为 fileupload:-

        <form id="fileupload" method="post" action="." enctype="multipart/form-data">{% csrf_token %}
            <div class="row fileupload-buttonbar">
                <div class="span7">
                    <span class="btn btn-primary fileinput-button">
                        <i class="icon-plus icon-white"></i>
                        <span>Add files...</span>
                        <input type="file" name="file" multiple>
                    </span>
                    <button type="submit" class="btn btn-success start">
                        <i class="icon-upload icon-white"></i>
                        <span>Start upload</span>
                    </button>
                    <button type="reset" class="btn btn-warning cancel">
                        <i class="icon-ban-circle icon-white"></i>
                        <span>Cancel upload</span>
                    </button>
                    <button type="button" class="btn btn-danger delete">
                        <i class="icon-trash icon-white"></i>
                        <span>Delete files</span>
                    </button>
                    <input type="checkbox" class="toggle">
                </div>
                <div class="span5 fileupload-progress fade">
                    <div class="progress progress-success progres-striped active">
                        <div class="bar" style="width:0%"></div>
                    </div>
                    <div class="progress-extended">&nbsp;</div>
                </div>
            </div>
            <div class="fileupload-loading"></div>
            <table class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>
        </form>
        <div class="fileupload-content">
            <table class="files"></table>
            <div class="fileupload-progressbar"></div>
        </div>
    </div>
    

    【讨论】:

      猜你喜欢
      • 2016-11-05
      • 2011-02-03
      • 2013-04-03
      • 2010-12-05
      • 2011-06-10
      • 2011-06-12
      • 1970-01-01
      • 2011-07-23
      • 2019-06-06
      相关资源
      最近更新 更多