【问题标题】:Where is the sqlite database file created by Django?Django创建的sqlite数据库文件在哪里?
【发布时间】:2011-11-17 20:53:32
【问题描述】:

我已经安装了 python 并且包含了 sqlite...但是使用manage.py syncdb 创建的 sqlite db 文件路径在哪里?我在 Mac 上。

【问题讨论】:

    标签: python django macos sqlite


    【解决方案1】:

    如果设置不可用,那么这可以嵌入到您的 packageName/base 目录中:

    尝试:

    import packageName
    import os.path.abspath
     In [3]: os.path.abspath(packageName.DATABASES['default']['NAME'])`
    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-3-ca6dcbd75c6d> in <module>()
    ----> 1 os.path.abspath(settings.DATABASES['default']['NAME'])
    >>> NameError: name 'settings' is not defined
    >>> os.path.abspath(packageName.settings.DATABASES['default']['NAME'])`
    >>> '/Users/brandizzi/Documents/software/netunong/database.db'
    

    【讨论】:

      【解决方案2】:

      settings.py 文件中,有一个名为DATABASES 的变量。它是一个字典,它的一个键是default,它映射到另一个字典。这个 subdict 有一个键 NAME,它有 SQLite 数据库的路径。

      这是我的一个项目的一个例子:

      CURRENT_DIR= '/Users/brandizzi/Documents/software/netunong'
      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.sqlite3',
              'NAME': CURRENT_DIR+ '/database.db', # <- The path
              'USER': '',
              'PASSWORD': '',
              'HOST': '',
              'PORT': '',
          }
      }
      

      您可以使用运行python manage.py shell 命令可访问的 Django shell 轻松检索此值。只需按照以下步骤操作:

      >>> import settings
      >>> settings.DATABASES['default']['NAME']
      '/Users/brandizzi/Documents/software/netunong/database.db'
      

      如果返回值是相对路径,直接用os.path.abspath求绝对路径即可:

      >>> import os.path
      >>> os.path.abspath(settings.DATABASES['default']['NAME'])
      '/Users/brandizzi/Documents/software/netunong/database.db'
      

      【讨论】:

      • 当您部署到 Heroku 服务器时,数据库是否也部署到该服务器?
      • 在我将 settings.py 文件移动到 settings 文件夹以针对不同的环境设置进行拆分后,这对我有所帮助。我的本地数据库文件向内移动了一个目录,并不断创建一个空目录。很高兴知道这是如何工作的
      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 2016-08-03
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多