用于jquery文件上载的django库。

django-jpic-jfu的Python项目详细描述


---------------------------
django jfu-用于jquery文件上载的django库
--------


django jfu旨在简化集成jquery文件上载所涉及的任务(https://github.com/blueimp/jq用户文件上传)到django。
django jfu很少假设,将模型/视图设计留给用户。

其他django-jquery文件上载实现功能齐全,但通常
对于现有的
应用程序来说,它比库更适合作为演示。

极大的自由度,您可能会发现这个包很有用。


演示_演示:http://djfu demo.cidola.com

`` pip安装django jfu`.
2.在project settings.py文件中的"installed_apps"中添加"jfu"。
3.将"django.core.context_processors.request"和"django.core.context_processors.static"添加到settings.py中的"template_context_processors"。运行"python manage.py collectstatic"。



usage
----

模板,用于集成jquery文件upload css和
javascipt以及jquery文件upload中的html实现演示。

若要将jquery文件上载小部件放置在模板中,只需在其中插入


{%load jfutags%}
{%jfu%}


,然后创建一个视图来处理上载的文件。
默认情况下,视图的URL应命名为**jfu_upload'**,但可以自定义(请参见下面的自定义)。

下面是一个示例实现:



p<;pk>;\d+$',views.upload_delete,name='jfu_delete'),

http import需要来自jfu的post
。http import upload\u receive,uploadresponse,jfuresponse

我一次发送一个文件。
如果可以同时上载多个文件,
文件'可能是一个文件列表。
file=upload_receive(request)


instance=yourmodel(file=file)
instance.save()

basename=os.path.basename(instance.file.path)

file-dict={
"name":basename,
"size":file.size,

"url":settings.media-url+basename,
"thumbnailurl":settings.media-url+basename,

"删除"url':reverse('jfu_delete',kwargs={'pk':instance.pk}),
'deletetetype':'post',
}


return uploadresponse(request,file_dict)

@require_post
def upload_delete(request,pk):
success=true
尝试:
instance=yourmodel.objects.get(pk=pk)
os.unlink(instance.file.path)
instance.delete()
除了您的model.doesnotexist:
success=false


返回jfuresponse(请求,成功)

-----

django jfu的设计非常可定制。

django jfu模板标记可以选择接受两个参数:要加载的
模板的名称以及指向上载处理
视图的URL的名称。::

{%load jfutags%}
{%jfu'your_fileuploader.html''your_uploader_url_name'%}

RM.有几个块可能会被重写,以便进行自定义:


*js-opts-jquery file upload``fileupload``函数提供的选项。
*js_init-初始化javascript
*file_input-上传表单的文件输入。


例如,可以这样向
fileupload函数添加一些选项::

ADS:true,
{%endblock%}

列出可供上载/下载的文件的表。
*Upload_Form_LinDicator-文件处理期间显示的加载指示器。
*Upload_Form_Progress_Bar-全局进度信息。
*Upload_Form_Button_Bar-文件上载按钮Bar包含添加/删除FI的按钮les和开始/取消上载。

*upload_form_button_bar_control-包含开始/取消上载或删除文件的按钮。
*upload_form_button_bar_add-包含用于添加文件的文件输入。
*file_input或upload_form_button_bar_add_file输入-包含文件输入。
*upload_form_button_bar_add_extra-允许添加额外输入的空块。
*upload_ Form_Button_Bar_Extra-允许添加额外组件的空块。

*Upload_Form_Extra-允许添加额外组件的空块。


css组件
===


*css_Bootstrap
*css_Blueimp_Gallery
*css_jquery_file_upload
*css_jquery_file_upload_ui
*css_html5_shim
*css_extra

==


*js download_template_delete
*js download_template_download
*js_下载模板预览
*js下载模板错误
*js下载模板大小

*js上载模板
*js上载模板预览
*js上载模板上载
*js上载模板控件
*js上载模板开始
*js_upload_template_cancel
*js_upload_template_progressbar

*js_scripts

*js_jquery
*js_jquery_ui_widget
*js_templates_plugin
*js load_image
*js canvas_to_blob
*js bootstrap
*js blueimp_gallery
*js bootstrap_iframe U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U额外费用r/>
覆盖这些块可以更新或抑制包含的javascript和css:


{%endblock%}

{%block css_bootstrap%}
{%comment%}
这已经包括在内。
{%endcomment%}
{%endblock%}

或者替换静态文件本身。

demo
----
如果您是从存储库下载的,一个简单的demo应用程序已经包含在"demo"目录中。
若要测试它,请输入"demo"目录并运行:

./setup&;/run

感觉
可以自由扩展它、报告错误或提供改进建议。
可以通过alem@cidola.com联系django jfu的作者。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何处理可以为null或整数的POJO类值   JavaFXSpring类NotFoundException:org。springframework。上下文注释。注释ConfigApplicationContext   java Jackson JSON不包装嵌套对象的属性   编写多个SQL查询的java最佳实践   安卓 java。lang.IllegalStateException:无法提取AndroidPlatform、sslSocketFactory上的信任管理器   MongoDB/Morphia将技术id保存为ObjectId,尽管它在Java中是一个字符串   JavaEclipse只加载log4。测试文件夹中的属性   java如何通过次对角线遍历2D数组?   java在geotools jmappane中制作shapefile编辑器   数组如何在java中获得表大小2^32   java API调试。如何查找函数体之前发生的错误?   java如何创建二维数组,其中#1位于随机位置,并执行特定次数   java文本文件比较   java SDK支持diff spring版本   javaspring引导集成测试javax。坚持不懈PersistenceException:org。冬眠PersistentObject异常