Django Ajax 帖子在 AWS 上使用 Gunicorn 和 Nginx 失败

Posted

技术标签:

【中文标题】Django Ajax 帖子在 AWS 上使用 Gunicorn 和 Nginx 失败【英文标题】:Django Ajax post failed with Gunicorn and Nginx on AWS 【发布时间】:2018-08-24 21:12:18 【问题描述】:

我正在使用由 gunicorn 和 nginx 在 AWS 上部署的 AJAX 编写应用程序。 当我使用python3 manage.py runserver 时效果很好。但是在我使用 gunicorn 之后,AJAX 帖子不起作用。我得到一个Failed to load resource: the server responded with a status of 404 (Not Found)

我做的是一个非常简单的 AJAX 帖子

$.ajax(
                type: 'POST',
                url: '/analytical-tools/getData/',
                data: 
                  'somedata':somedata
                  csrfmiddlewaretoken: ' csrf_token '
                ,
                dataType: 'json',
                success: function (data) 
                   /*do something*/
                
);

首先我想问一下,在 Gunicorn 上部署 AJAX 有什么不同吗? 我想问一下如何在gunicorn上调试。 gunicorn 在后台运行,运行时我看不到任何调试信息或打印内容。

【问题讨论】:

【参考方案1】:

404 代表未找到...这里的问题是 django 端点完全可用还是不适用于某些数据?

1) 如果配置 nginx/gunicorn 有问题

2) 如果对于某些数据,请确保该数据确实存在

3) 想法确保 JS 中没有废话,例如查看 XHR 部分并复制请求负载,并在 Postman 中交叉验证

关于调试,日志中应该有每个请求等的文件。

uwsgi在哪里? https://www.digitalocean.com/community/questions/where-s-my-django-application-log-file

哪里有 nginx? Where can I find the error logs of nginx, using fastcgi and django

【讨论】:

以上是关于Django Ajax 帖子在 AWS 上使用 Gunicorn 和 Nginx 失败的主要内容,如果未能解决你的问题,请参考以下文章

Ajax 帖子从 Django 返回 CSRF 错误

使用带有 Compressor 的 Boto 的 Django AWS S3 无法压缩 UncompressableFileError

Django 项目中基于 CSRF 令牌 AJAX 的帖子

Django - 使用 ExtJS 发布 ajax 请求禁止 403

django ajax 发布 403 被禁止

将 Django 和 Bootstrap 5 Modal 与 Ajax 结合使用