【发布时间】:2015-12-09 17:31:15
【问题描述】:
我的 django 项目有两个设置文件,具有不同的数据库设置。
第一:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': 'user',
'PASSWORD': 'megahardbreakingpassword',
'HOST': 'localhost',
'PORT': '',
'OPTIONS': {
'init_command': 'SET storage_engine=INNODB',
}
}
}
第二个:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'db.sqlite3',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
当我用第二个数据库设置项目运行服务器时工作正常,但是当我用 mysql 运行第一个设置文件时,django 为所有 url 返回 404 错误。
我还使用 django-hosts 来实现子域模式,所以这里可能有问题。我的 hosts.py 代码:
from django_hosts import patterns, host
host_patterns = patterns('',
host(r'^$', 'project.urls', name='host'),
)
我使用 django 1.4.2 和 Python 2.7.9
【问题讨论】:
-
数据库设置不可能是原因...你确定两个设置文件之间没有更多区别了吗?
-
当然。我复制了一个文件,然后更改了 DATABASES 选项
-
数据库不会产生 404 错误。您有一个查询数据库并在遇到错误时引发 404 的视图。请查看日志文件
标签: python mysql django sqlite