用于jquery文件上载的django库。

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


注:本项目来源于https://github.com/jpic/django-jfu。这个fork旨在本地化项目并使其与django的最新版本兼容。它还更新了一些相当过时的依赖项。

---------------------------
django jfu-用于jquery文件上传的django库对jquery进行评级
将文件上传(https://github.com/blueimp/jquery-file-upload)到django中。
django jfu假设很少,将模型/视图设计留给用户。

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

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


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

`` pip安装django jfu`.
2.在project settings.py文件中的"installed_apps"中添加"jfu"。
3.运行"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'),


在您的"views.py"文件中::


import os
from django.conf import settings
from django.core.urlresolvers import reverse
from django.views import generic
from django.views.decorators.http导入需要jfu的post
。http导入upload\u接收,uploadresponse,jfuresponse

ed一次发送一个文件。
如果可以同时上载多个文件,
文件'可能是一个文件列表。
文件=上载接收(请求)


实例=您的模型(文件=文件)
实例.save()

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

file盘符={
"名称":basename,
"大小":file.size,

"url":settings.media盘符+basename,
"缩略图url":settings.media盘符+basename,

"删除url":reversee('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:
成功=false


返回jfuresponse(请求,成功)

django jfu的设计非常可定制。
django jfu template标记可以选择接受两个参数:要加载的
模板的名称和指向上载处理
视图的url的名称。::

{{%load jfutags%}
{%jfu'your戋fileuploader.html''your戋uploader戋url名称'%}

从主django jfu模板扩展
`jfu/upload_form.html`。有几个块可能会被重写,以便进行自定义:


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


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

是的,
{%endblock%}

e列出可供上载/下载的文件。
*upload_form_lindicator-文件处理过程中显示的加载指示器。
*upload_form_progress_bar-全局进度信息。
*upload_form_button_bar-fileupload按钮bar包含添加/删除文件的按钮以及开始/取消上载。

*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"目录并运行:

./setup&;/run

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



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

推荐PyPI第三方库


热门话题
java什么是com。火基。客户服务器值。响应时间戳?   java方法和参数   java在Android中,如何获得7个具有相同父活动的片段来进行onclick通信?   java如何将子类对象与超类对象关联?   java热点为什么需要寄存器分配?   为什么这是数学。以这种格式列出的random()语句?   java JPanel未添加到JTabbedPane   java如何在moblie游戏开发中支持多种屏幕尺寸   java无法解析符号“GoogleCloudMessaging”GCM   java成员、类、可访问性说明   java在多大程度上引用了项目fork中的作者?   java如何在安卓中存储或获取sqlite数据库,而不是数据库默认位置   java JDBC断管Mac   java滑动选项卡布局不适用于API 15