网页服务器
DjangoDav的Python项目详细描述
Django的生产就绪WebDAV扩展。
动机
django是一个非常流行的提供数据表示和管理的工具。关键目标之一是 机器访问它。大多数流行的面向生产的工具提供基于json的api访问。他们有自己的 优点和缺点。
今天的webdav是协作文档管理的标准。它的客户是建立在现代操作系统中的 并得到全世界大众服务的支持。但重要的是要记住这不仅仅是关于文件存储, webdab提供了一组方法来处理任何类型的树结构对象。
提供对django资源的webdav访问为构建web2.0应用程序打开了新的视野,使用inplace edition和 提供对存储对象的本机操作系统访问。
与smartfile django webdav的区别
基本资源功能从存储区分离为基本资源类 开发人员可以自由选择提供或实现的功能。
改进了类依赖性。资源类不知道url或服务器的任何信息,它的 目标只是存储内容并提供适当的访问权限。
已删除属性帮助程序类。视图现在负责XML生成和资源 提供实际属性列表。
服务器现在从基于django类的视图继承,并重命名为davview。
包含测试的关键方法。
已删除多余的请求处理程序。
添加了fsresource和dbresource以提供文件系统和数据库访问。
XML库的使用被LXML替代,以实现适当的XML生成代码可读性。
如何创建简单的文件系统webdav资源
一。创建resource.py
fromdjango.confimportsettingsfromdjangodav.base.resourcesimportMetaEtagMixInfromdjangodav.fs.resourcesimportDummyFSDAVResourceclassMyDavResource(MetaEtagMixIn,DummyFSDAVResource):root='/path/to/folder'
2.在url.py
中注册WebDAV视图fromdjangodav.aclsimportFullAclfromdjangodav.locksimportDummyLockfromdjangodav.viewsimportDavViewfromdjango.conf.urlsimportpatternsfrom.resourceimportMyDavResourceurlpatterns=patterns('',(r'^fsdav(?P<path>.*)$',DavView.as_view(resource_class=MyDavResource,lock_class=DummyLock,acl_class=FullAcl)),)