Django应用程序的Dropbox存储

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


Django Dropbox存储

A Dropbox Storage for your Django apps

什么

django-dropbox-storage允许django应用程序使用dropbox作为文件上载的存储后端。

安装

首先要做的事:

$ pip install django-dropbox-storage

然后打开项目的settings.py,并将其包含到您的INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'django_dropbox_storage',
    ...
)

如果要使用django_dropbox_storage作为所有文件上载的默认存储,还需要调整DEFAULT_FILE_STORAGE

DEFAULT_FILE_STORAGE = 'django_dropbox_storage.storage.DropboxStorage'

如果只想在单个模型字段上使用它,只需导入即可:

from django_dropbox_storage.storage import DropboxStorage

DROPBOX_STORAGE = DropboxStorage()

photo = models.ImageField(upload_to='photos', storage=DROPBOX_STORAGE ...)

为了使其正常工作,您必须设置下一个设置:

DROPBOX_ACCESS_TOKEN = 'xxx'

如果您没有DROPBOX_ACCESS_TOKEN,可以在Dropbox for Developers创建Dropbox应用程序后创建一个。 如果您有DropboxApp keyApp secret,则可以在settings.py中设置DROPBOX_CONSUMER_KEYDROPBOX_CONSUMER_SECRET设置,然后运行:

$ python manage.py get_dropbox_token [--settings=test_settings]

按照屏幕上的说明,最后在settings.py模块中设置DROPBOX_ACCESS_TOKEN_SECRET

您还可以设置默认根文件夹设置值DROPBOX_ROOT_FOLDER

DROPBOX_ROOT_FOLDER = '/Public'

默认设置为'/'(根文件夹)。

测试

测试是按照Django的最佳实践编写的。

要运行它们,需要正确设置DROPBOX_ACCESS_TOKEN

注意:如果将此包测试为独立的,则可以在根文件夹中的local_settings.py模块中设置访问令牌。

启动测试套件:

$ python manage.py test [--settings=test_settings]

要检查单元测试覆盖率,您可以:

$ pip install coverage
$ coverage run manage.py test [--settings=test_settings]
$ coverage report -m

贡献

投稿时,请遵循以下步骤:

  • 克隆回购协议并进行更改。
  • 确保您的代码有针对它编写的测试用例。
  • 确保所有的测试都通过。
  • 用flake8填充代码。
  • 把你的名字加到捐款人名单上。
  • 提交请求。

作者

  • emanuele bertoldi

此项目基于以前的工作:

感谢他们所有人!

许可证

版权所有(c)2018 Emanuele Bertoldi

MIT License

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

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?