Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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的基本url_Python_Django_Nginx - Fatal编程技术网

Python 带有反向代理的Django的基本url

Python 带有反向代理的Django的基本url,python,django,nginx,Python,Django,Nginx,我有一个Django项目,它在Dev中工作。对于prod,我使用nginx作为内部用户的反向代理 因此,代码部署在http://server1.com/project/并且用户可以通过http://project.server2.com/foo/bar 问题在于{%url'%}和{%static'%}标记。两者都会生成相对URL,例如: <link rel="stylesheet" href="/static/css/style.css" > 因此浏览器尝试加载http://p

我有一个Django项目,它在Dev中工作。对于prod,我使用nginx作为内部用户的反向代理

因此,代码部署在
http://server1.com/project/
并且用户可以通过
http://project.server2.com/foo/bar

问题在于
{%url'%}
{%static'%}
标记。两者都会生成相对URL,例如:

<link rel="stylesheet" href="/static/css/style.css" >

因此浏览器尝试加载
http://project.server2.com/static/css/style.css
,而不是
http://project.server2.com/foo/bar/static/css/style.css


使用自定义基本url生成绝对路径的解决方案是什么?

如何为此项目定义媒体根目录和静态根目录?未定义媒体根目录,静态根目录设置为os.path.join(基本目录,“资产”)。我使用collectstatic生成它。但我认为我必须将url和静态标记更改为绝对url。请与您共享nginx配置文件。您需要确保nginx和您的应用程序服务器将
脚本\u名称
传递给Django。