这是我的第一个项目,所以请原谅我的不熟悉。
网站运行得很好,直到我点击了“注销”。之后,网站会给予我这个错误:DoesNotExist at /login/ Site匹配查询不存在
我到处搜索,得到的唯一解决方案与设置站点框架、SITE_ID等有关。我认为我电脑上的这些项目都很好,但我找不到一个演练/指南来帮助我检查它们。
有谁能告诉我是什么问题,以及如何解决它?提前感谢:3
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '/home/dotcloud/nhs.db', # 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.
}
}
9条答案
按热度按时间y53ybaqx1#
如果你的数据库中没有定义站点,而django想引用它,你需要创建一个。
从
python manage.py shell
:现在,将www.example.com中的站点ID设置settings.py为SITE_ID
jhkqcmku2#
数据表
django_site
必须包含与id
具有相同值的数据列(预设相等1
),因为SITE_ID
设定为(在您的settings.py
内)。kr98yfug3#
将
SITE_ID = 1
添加到settings.py您的django项目中的www.example.com。6l7fqoea4#
我 在 没有 使用 python
manage.py
shell 的 情况 下 修复 了 它首先 我 尝试 使用 上面 的 命令
manage.py
shell :中 的 每 一 个
但 它 给出 了 完整 性 错误
简单 地 说 就是 把
SITE_ID = 1
加 到 你 的settings.py
如果 你 想 知道 你 的 站点 id 是 什么 , 那么 进入 实际 的 数据 库 , 我 下载 了 sqliteman 来 看看 我 的 表 有 什么 。这 是 因为 有 一 个 函数
get_current
在 查找SITE_ID
, 但 在 您 的settings.py
中 找 不到 它格式
它 ID 应为 1 , 名称 应为
example.com
, 域 应为example.com
dkqlctbz5#
我看到了创建一个新站点和引用id的答案。但是如果你已经有了一个站点或者你删除了这个站点,然后又从UI中创建了这个站点,那么id会不断增加。要解决这个问题,你可以按照下面的方法得到id:
把你在这里得到的id输入
setting.py
。基本上ID表中对应的游站点和www.example.com中settings.py应该匹配。
puruo6ea6#
在数据库django_site表中查询ID,然后在Django www.example.com中设置正确的IDsettings.py,例如:
SITE_ID = 3
bvhaajcl7#
您似乎忘记在www.example.com中添加SITE_ID=1settings.py
m1m5dgzv8#
我在为项目创建站点Map时遇到了同样的错误。我在
setting.py
文件的Installed_APP列表中包含了这个'django.contrib.sites'
。通过从installed_app列表中删除'django.contrib.sites'
,错误就被删除了。mdfafbf19#
确保添加站点ID,下面是一个示例:
SITE_ID = 1