Django的一种存储系统,将上传的文件存储在数据库和文件系统中。

django-binary-database-files的Python项目详细描述



django二进制数据库文件[(https://img.shields.io/pypi/v/django binary database files.svg)](https://pypi.python.org/pypi/django-binary-database-files)[![构建状态](https://img.shields.io/travis/kimetria/django-binary-database-files.svg?branch=master)(https://travis-ci.org/kimetria/django-binary-database-files/)[![](https://pyup.io/repos/github/kimetria/django binary database files/shield.svg)](https://pyup.io/repos/github/kimetria/django binary database files)


这是django的存储系统,将上载的
文件存储在数据库的二进制字段中。文件可以从数据库
(通常是一个坏主意)、文件系统或cdn中提供。


警告:从django提供静态文件通常是一个坏主意,
,但是有一些有效的用例。如果您的django应用程序位于缓存
反向代理之后,并且您需要缩放应用程序服务器,则在数据库中存储文件可能会变得
更简单。

基于django数据库文件,通过[kimetria](https://github.com/kimetria/django数据库文件)、[rhunlocks](https://github.com/rhunwicks/django数据库文件)、[chrispen](https://github.com/chrispen/django-database-files-3000)、[bfirsh](https://github.com/bfirsh/django-database-files)但已更新以使用django 1.11-2.1、python 2/3并使用二进制字段进行存储。

需要:

*django 1.11-2.1

安装
----


只需通过pip安装,其中:


用法
-


="binary_database_files.storage.databasestorage"


如果要将包添加到具有预先存在的
文件的现有django安装中,请运行:


python manage.py binary_database_files_load


>此外,如果要将数据库中的所有文件导出回文件
系统,请运行:

python manage.py binary_database_files_dump

注意,如果清除引用文件的字段,则不会自动删除数据库和文件系统中相应的文件

若要删除数据库和文件系统中未被任何模型引用的所有文件
字段,请运行:

python manage.py binary_database_files_cleanup

上传到文件域的upload_to
路径,就像默认的django文件存储一样。


如果为false,则该文件将只存在于数据库中。


*` database_file s_url_method`=`url_method`url_method_1`(默认的url_method_1`)

定义要使用的方法当呈现文件的Web可访问URL时。

从文件系统或数据库中查找并提供文件。

在这种情况下,您还需要更新"url.py"以包含为文件提供服务的视图:

urlpatterns=patterns('',
…urlconf的其余部分放在这里……

_ files_base_url`

允许存储后端的"url"方法返回一个绝对url(如果提供)。



development
----



代码应使用以下内容来填充:

./pep8.sh

可以在ubuntu上安装:



>若要跨多个python版本运行单元测试,请安装:


sudo apt get install python3.5-minimal python3.5-dev python3.6-minimal python3.6-dev

以运行所有[测试](http:)//tox.readthedocs.org/en/latest/):



为特定环境运行测试(如python 2.7和django 1.11):


export testname=;tox-e py27-django111

运行特定测试:

export testname=。测试添加文件;tox-e py27-django111

要构建一个版本化的包并将其部署到pypi,请验证[所有单元测试都通过](https://travis ci.com/kimetria/django binary database files/),然后增加(并提交)binary-database-files/uuuu init.py中的版本号,然后运行:

python setup.py sdist
python setup.py sdist upload

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

推荐PyPI第三方库


热门话题
c#Java Tcp服务器和。Net Tcp客户端的发送和接收问题   安卓应用程序上的java标记地理位置,其位置位于我周围5Km半径范围内。   向java添加对话框并检索html文件   当eclipse甚至无法打开时,java会在eclipse中更改不兼容的JVM   java中同一jframe中的jlabel和paintComponent   基于另一数组排序的java排序   java AADSTS7000012:该补助金是为另一个租户获得的   java在JSF中使用foreach循环   java如何通过maven为运行junit测试创建运行配置?   java Selenium webDriver不稳定错误堆栈跟踪   java有没有办法创建以键为大写的JSON对象?