我有一个 Django 应用程序。 view.py 中函数 load_form(request) 的代码片段。
def load_form(request):
if request.method == 'POST':
newQAForm = QAForm(request.POST)
if newQAForm.is_valid():
instance = newQAForm.save(commit=False)
instance.save(using='RadDataWarehouse')
return redirect('confirmation')
还有另一个功能
def confirmation(request):
return render(request, 'confirmation.html')
在本地运行良好。将表单保存到数据库后,它会将其定向到
http://127.0.0.1:8000/confirmation/
。
我将其部署到linux服务器后。将其保存到数据库后遇到问题。它将直接指向
https://abcdomain.com/confirmation/
。但我想它会去https://abcdomain.com/protocolqa/confirmation/
。
反向代理的 nginx.conf
如下:
location /protocolqa/ {
proxy_pass http://localhost:8511/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Script-Name /protocolqa;
proxy_set_header X-Original-URI $request_uri;
}
如何修复它并让它变得
https://abcdomain.com/protocolqa/confirmation/
我改成这个后,就可以了。
def confirmation(request):
return render(request, 'confirmation.html')