2

我试图在pythonanywhere上部署我的 django 应用程序。

来自 apache 错误日志的回溯:

2013-07-23 09:31:35,058 :Internal Server Error: /favicon.ico
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 89, in get_response
    response = middleware_method(request)
  File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 55, in process_request
    host = request.get_host()
  File "/usr/local/lib/python2.7/dist-packages/django/http/__init__.py", line 179, in get_host
    "Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host)
SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): monty_singh.pythonanywhere.com

我试过['*']['monty_singh.pythonanywhere.com']作为值,ALLOWED_HOSTS但应用程序仍然无法正常工作。无论我设置什么值,ALLOWED_HOSTS我都会得到同样的错误。

4

2 回答 2

6

当 Django 从 HTTP 请求中验证主机时,它会尝试将其与以下正则表达式进行匹配,您可以在此处的源代码中找到该正则表达式:

host_validation_re = re.compile(r"^([a-z0-9.-]+|\[[a-f0-9]*:[a-f0-9:]+\])(:\d+)?$")

用户名中的下划线导致 Django 拒绝请求中的主机名。您可以使用新用户名创建新的 PythonAnywhere 帐户或使用不同的 Web 框架。

于 2013-07-23T15:30:58.683 回答
1

从您的 pyhonanywhere 主页转到文件并删除“缓存”(如果有),然后在项目文件夹中找到 settings.py 文件,添加紫苑或似乎不允许的链接:ALLOWED_HOSTS = ['*'] 然后返回仪表板>>网页并按“重新加载”按钮,然后单击上方的重新加载按钮。

于 2021-05-05T14:19:10.083 回答