Django MYSQL JQGRID 不会显示,因为 SSL / HTTPS

Django MYSQL JQGRID won't display since SSL / HTTPS

提问人:Nico44044 提问时间:7/14/2023 更新时间:9/6/2023 访问量:42

问:

我在 OVH VPS 上成功部署了我的第一个 Django / Mysql / Ubuntu /Apache - mod_wsgi 应用程序。

在主页上,我有一个 JQGRID 表来显示我的 MYSQL 数据库(也托管在 VPS 上)中的一些信息。

我迷路了,因为一切都像魅力一样工作,因为我没有启用SSL证书。

http://example.com 正确显示所有内容(包括填充MYSQL的JQGRID)

https://example.com 显示 Django 应用程序,其中包含静态文件和图像,但没有显示 JQGRID 表

我制作了一个搜索引擎来过滤 JQGRID 上的结果和相同的行为:

http://example.com ->过滤器正在工作并显示结果

https://example.com -> 我有一个错误 500。我在 django 上打开了 DEBUG=TRUE 以获得一些详细信息,这就是我单击搜索按钮后得到的:

MultiValueDictKeyError 位于 / “用户名”

请求方式:POST 请求 URL:https://example.com/ Django 版本:4.1.6 异常类型:MultiValueDictKeyError 异常值:“
username” 异常位置:/var/www/example/venv/lib/python3.11/site-packages/django/utils/datastructures.py,第 86 行,在 getitem 期间提出:example_app.views.home Python 可执行文件:/var/www/example/venv/bin/python Python 版本:3.11.2

views.py 错误

enter image description here

我无法弄清楚问题是否来自 django , apache 或 MYSQL ? 为什么它只发生在 HTTPS 上?

感谢您的帮助

mysql django apache jqgrid

评论


答:

0赞 Nico44044 7/14/2023 #1

查看Web浏览器的JAVASCRIPT控制台,我注意到此错误:

[blocked] The page at https://example.com/ was not allowed to run insecure content 
from http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js. 

所以我想我的 django 主页并更新 http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js。 自 httpS://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js。

它解决了这个问题。