此应用程序允许您轻松地将媒体和静态文件保存到WebDAV存储中

django-webdav-storage的Python项目详细描述


Travis CI build statusCode coverage percentageLatest version on PyPIWheel StatusSupported Python versions

此应用程序允许您轻松地将媒体和静态文件保存到WebDAV存储中。

依赖关系

安装

  1. 安装软件包
pip install django-webdav-storage
  1. webdav-urlwebdav-public-url中选择webdav服务器url:
WEBDAV_URL='http://webdav.example.com/',WEBDAV_PUBLIC_URL='http://webdav.example.com/'

如果要对WebDAV访问使用HTTP基本授权,可以指定 您的凭证如下:

WEBDAV_URL='http://johndoe:secret@webdav.example.com/'
  1. 将WebDAV存储类设置为默认值:
DEFAULT_FILE_STORAGE='django_webdav_storage.storage.WebDavStorage'
  1. 如果webdav后端不能递归地创建路径(例如nginx can do this,而apache不能),请将webdav\u recursive mkcol变量设置为true
WEBDAV_RECURSIVE_MKCOL=True
  1. 如果使用nginx作为webdav服务器并希望启用存储目录列表,请将webdav列表后端选项设置为:
WEBDAV_LISTING_BACKEND='django_webdav_storage.listing.nginx_autoindex'

应用服务器的nginx配置中必须启用自动索引功能(请参见下面的示例)。小心!允许任何用户使用自动索引可能会导致安全和性能问题。

此外,您还可以使用以下界面指定其他函数的路径:

deflistdir(storage_object,path_string):returndirs_list,files_list

nginx webdav配置示例

# Public readonly media server.
server{listen80;charsetutf-8;server_tokensoff;server_namemedia.example.com;access_log/var/log/nginx/media_access.log;error_log/var/log/nginx/media_error.log;root/usr/share/nginx/webdav;}# WebDAV server
server{listen80;charsetutf-8;server_tokensoff;server_namewebdav.example.com;access_log/var/log/nginx/webdav_access.log;error_log/var/log/nginx/webdav_error.log;root/usr/share/nginx/webdav;client_max_body_size10m;client_body_temp_path/tmp;create_full_put_pathon;autoindexon;dav_methodsPUTDELETEMKCOLCOPYMOVE;dav_accessuser:rwgroup:rall:r;satisfyany;allow127.0.0.1/32;denyall;auth_basic'MyWebDAVarea';auth_basic_user_file/usr/share/nginx/.htpasswd;}

注意事项

  • 在python 3.x中,ContentFile的文本模式内容(不是二进制内容)将导致TypeError到期requests限制

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

推荐PyPI第三方库


热门话题
java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException