我找到了几个有这个标题的主题,但它们的解决方案都不适合我.我有两个Django站点在我的服务器上运行,都是通过Apache在Nginx前端提供的两个端口上使用不同的VirtualHost(用于静态文件).一个网站使用MySql,运行良好.另一个使用Sqlite3并在标题中获取错误.

我下载了一份sqlite.然后看了看我的网站.sqlite3(此目录中的SQLite数据库)文件,并且确实有一个django_会话表,其中包含有效数据.我有sqlite.exe以及Python路径中的site packages文件夹.

以下是我的一部分设置.py文件:

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'mysite.sqlite3',         # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

我确实使用了python manage.py syncdb,没有错误,只有一个"No fixtures"注释.

有谁知道这里还可能发生什么事吗?我正在考虑把所有东西都转移到我的老朋友MySQL上,而忽略Sqlite,因为它真的总是给我带来一些麻烦.不管怎样,我用它只是为了了解它.我没有压倒性的理由要用它.但是,再说一遍,为了给我启迪,有人知道这个问题是什么吗?我不想放弃.

推荐答案

可能是服务器使用的工作目录与manage.py命令不同.因为您提供了sqlite数据库的相对路径,所以它是在工作目录中创建的.try 使用绝对路径,例如:

'NAME': '/tmp/mysite.sqlite3',

请记住,您要么再次运行./manage.py syncdb,要么将当前数据库和现有表复制到/tmp.

如果它解决了错误消息,您可以寻找比/tmp更好的位置:-)

Django相关问答推荐

使用override_sets构建一个预装饰的类,以更快的客户端.登录?

在Django的个人页面中的问题

身份验证有效,但登录无效.一直卡在pending

反向 url django 管理员

Django ORM:子查询上的文本聚合器

Django 模型 Select - 只允许管理界面上的特定转换

为什么我的搜索功能返回错误相关字段查找无效:​​类别

在 django/python 上访问请求标头

如何在 Django 中返回静态 HTML 文件作为响应?

Django SMTPAuthenticationError

将 XML 从 URL 解析为 python 对象

可以在 github 页面上托管 django 站点吗?

使用 Python / Django 的 Google API 示例的 Oauth

在 django admin 中创建对象时如何自动插入当前用户?

如何在 django 中分离我的模型?

Django urls 直接到 html 模板

Django unique_together 与可为空的 ForeignKey

将属性添加到 Django 模型的 Meta 类中

用于创建和更新的基于 Django 类的视图

在 Django 中查询 top x 元素