Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django cms-在此服务器上找不到请求的URL/en/-postgresql、nginx、gunicorn_Python_Django_Postgresql_Django Cms - Fatal编程技术网

Python django cms-在此服务器上找不到请求的URL/en/-postgresql、nginx、gunicorn

Python django cms-在此服务器上找不到请求的URL/en/-postgresql、nginx、gunicorn,python,django,postgresql,django-cms,Python,Django,Postgresql,Django Cms,程序版本: django cms 3.0 python 3.4.2 django 1.7.3 设置: DEBUG = False ALLOWED_HOSTS = ['localhost','localhost:8000',] 使用Sqlite时,一切正常。 使用PostgreSQL,我得到:在此服务器上找不到请求的URL/en/。 (使用DEBUG-True,使用任一数据库都可以正常工作。) 我做错了什么? 我忘了提到: 我在gunicorn上运行django cms和 我将nGinx用于

程序版本:

django cms 3.0
python 3.4.2
django 1.7.3
设置:

DEBUG = False
ALLOWED_HOSTS = ['localhost','localhost:8000',]
使用Sqlite时,一切正常。
使用PostgreSQL,我得到:
在此服务器上找不到请求的URL/en/。

(使用DEBUG-True,使用任一数据库都可以正常工作。)

我做错了什么?

我忘了提到:

  • 我在gunicorn上运行django cms和
  • 我将nGinx用于静态内容

所以,在我做了一些研究和调试之后,以下是我解决问题的方法:

在nGinx配置中,我有以下内容:

location / {
    proxy_pass http://localhost:8000;
}
当DEBUG=False时 允许的_HOSTS=['.example.com','.example.com',] 没有工作是因为

get_host()正在返回localhost:8000 并且应该返回example.com

这修正了它:

location / {
    proxy_pass http://localhost:8000;
    proxy_set_header Host $http_host;
}

您是否创建了任何页面?如果没有,你会得到404。如果您已经创建并发布了主页,请在dpaste.com或其他网站上发布您的URL.py文件,并发布指向itI的链接。我最初没有创建任何页面。之后,我得到了:错误的请求(400)。这是我的URL.py。我可以在debug=false模式下查看我的页面。行为与“runserver”或gunnicorn相同。允许的_HOSTS=['*',]可以正常工作,但这不是正确的做法。