用于jquery文件上载的django库。

django-jfu-pyforms的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.template.context_processors.request"和"django.template.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'**,但可以自定义(请参见下面的自定义项)。

下面是一个示例实现:

名称='jfu_upload'),

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

上传响应,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模板标记可以选择接受两个参数:要加载的模板和指向上载处理的url的名称
视图。:

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


>自定义模板可以从主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={{static{url}/js/my.newer.jquery.js/>;
{%endblock%}

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

静态文件本身。

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

./setup&;/run

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



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

推荐PyPI第三方库


热门话题
Spring 4升级后未加载java应用程序上下文   java Android 2.3.3 internet可以在我的Galaxy S上运行,但不能在我的Galaxy选项卡上运行?(许可?)   java通过不改变其原始位置对大小写字母进行排序   java Spring Boot一直在破坏我的电脑。。。sts的最佳配置是什么。Windows 10上的ini文件?   css Java Spring+引导问题   java Jackson将GeoJsonPoint序列化为纬度/经度   xml Java Transformer:如何将其结果生成OutputStream?   java如何更改字体、文本大小和设置文本位置?   在JavaSpringHibernate3.6.3中,如何告诉一个方法等待,直到获得锁,以及如何重试失败的事务?   java安卓服务代替线程   Java Swing使用鼠标移动JFrame