用于jquery文件上载的django库。

django-jfu的Python项目详细描述


---------------------------
django jfu-用于jquery文件上载的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'**。


下面是一个示例实现:



您也可以选择定义一个删除url
url(r'^delete/(?p<;pk>;\d+$',views.upload_delete,name='jfu_delete'),

在"views.py"文件中:


import os
from django.conf import settings
from django.core.urlsolvers import reverse
from django.views import generic
from django.views.decorators.http import需要从jfu.http import上传接收,上传响应,jfuresponse

从您的应用程序中。模型导入您的模型

@require\post
def upload(request):

模拟地,
"文件"可能是一个文件列表。
file=upload\receive(request)


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


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

file\udict={
"name":basename,
"size":file.size,

"url":settings.media_url+basename,
"thumbnailurl":settings.media_url+basename,

"deleteurl":reverse("jfu_delete",kwargs={"pk":instance.pk}),
"deleteType":"post",
}

返回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


return jfuresponse(request,success)

customization
----

django jfu被设计成非常可定制的。

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

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


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


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


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


顺序上传:真,
{%endblock%}

列出可供上载/下载的文件。
*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_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组件
==

*js模板

*js下载模板

*js模板删除
*js模板下载
*js_download_template_preview
*js_download_template_error
*js_download_template_fsize

*js_upload_template
*js upload_template_preview
*js upload_template_upload
*js upload_template_controls
*js_upload_template_start
*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-bootstrapu-bootstrapu-biframe-transport
*js-jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_上传图片
*js jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery_jquery上传用户界面
*js-xdr-u-transport
*js-extra


>覆盖这些块可以更新或抑制包含的javascript和css:


脚本src={{静态url}/js/my.newer.jquery.js/>;
{%endblock%}

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


或者替换静态文件本身。

demo
----
已从存储库下载,一个简单的演示应用程序已包含在"demo"目录中。要测试它,请运行:

./setup&;/run


contribution
----
django jfu是完全开放源码的,欢迎任何类型的贡献。可以自由扩展它、报告错误或提供改进建议。
django jfu的作者可以通过alem@cidola.com联系。

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

推荐PyPI第三方库


热门话题
使用jaxrpc的Java eclipse WebService客户端   java编程方式在对象上写入名称   java Spring批处理:重试后跳过   java Android错误:错误:任务执行失败:应用程序:transformClassesWithDexForDebug'   带有清单文件nullPointerException的java Android元数据   spring Java Quartz调度作业停止运行   JavaMockito:如何在不调用实际方法的情况下,模拟带有参数和无效返回类型的静态方法?   java Tomcat连接池问题无法在关闭的连接上调用方法   java如何交换列表中的项目?   java如何停止线程并通过Toast在线程中正确显示文本?   java为什么连续写入OutputStream时偏移量0不会导致重复字节?   java我无法生成头文件   不兼容的返回类型错误java   修改值后键值对的java Jolt转换规范   java有自动更新Javadoc的工具吗?   java线程如何在ints自身实例类中共享变量   java继承一个非gwt模块   java Hibernate xml配置   使用netty4异步调用的java链接HTTP请求响应