数据库中文件的django文件存储后端。

django-dbstorage的Python项目详细描述


数据库中文件的django文件存储后端。

安装

安装django-dbstorage的最简单方法是使用pip

pip install django-dbstorage

快速启动

在djangosettings文件中:

  • 'django-dbstorage'添加到INSTALLED_APPS
  • DEFAULT_FILE_STORAGE设置为 'django_dbstorage.storage.DatabaseStorage'
  • MEDIA_ROOTMEDIA_URL设置为None

提供文件

urls.py中,将以下内容添加到urlpatterns

url(r'^media/', include('django_dbstorage.urls'))

或者,如果要指定更多选项,请使用:

url(r'^media/', include(django_dbstorage.urls.serve()))

您应该将settings.MEDIA_URL设置为此include的根目录,在 这个案例:/media/

如果不希望提供数据库中的文件,请不要添加 任何设置为urls.py并将settings.MEDIA_URL设置为None的内容。

自定义

DatabaseStorage有几个选项。自定义,子类 它并将其用作DEFAULT_FILE_STORAGE。例如:

class MyDatabaseStorage(DatabaseStorage):
    def __init__(self):
        super(MyDatabaseStorage, self).__init__(location='/tmp',
                                                base_url='/files/',
                                                uniquify_names=True)

为了方便起见,有一个NonUniquifyingDatabaseStorage类 保存时不尝试查找唯一文件名的。这个 类抛出状态代码为EEXISTSIOError,当 正在尝试_save()

此功能由其他包使用,例如 django-randomfilenamestorage

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

推荐PyPI第三方库


热门话题
java在“for语句”中打印数组   使用jaxb外部绑定自定义时发生java错误   jdbc如何在Java(ProcessBuilder)中创建GlassFish的连接池   java正在尝试打印名称   java在Spring表达式语言中使用正则表达式提取子字符串   java如何将字符串流式传输到另一个类   jakarta ee ResourceBundle来自Java/Struts和replace表达式   tomcat支持java的可能原因。网SocketInputStream。socketRead0   java无法从joda dateTime对象中删除毫秒   java永远隐藏导航栏   具有更多字段的java ItemizeOverlay   使用jsptag的java搜索记录   java如何在Android Q中检查互联网连接?   java如果1是标准的EOF字节,为什么DataInputStream会这样做?   线程环境中的多线程mongodb java客户端断开连接   java正则表达式中的非捕获组   java疯狂拍卖定制售价   java Mybatis自动映射以支持dot   java在线获取原始格式的JSON URL   java意外字符“ï”,使用Jackson解析JSON