Django 似乎没有找到我的主机0.0.0.0
我已经将“0.0.0.0”添加到我的 ALLOWED_HOSTS 中。事实上,如果我print(ALLOWED_HOSTS)得到了
['localhost', '127.0.0.1', '0.0.0.0', '[::1]']。我在码头工人工作。有什么我忽略的吗?
.env.dev
DEBUG=1
SECRET_KEY=foo
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 0.0.0.0 [::1]
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=xxxx
SQL_USER=xxxx
SQL_PASSWORD=xxxx
SQL_HOST=db
SQL_PORT=5432
DATABASE=postgres
Run Code Online (Sandbox Code Playgroud)
env_settings.py
import os
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = os.environ.get("SECRET_KEY")
# SECURITY WARNING: don't run with debug turned on in production!
# DEBUG = True
DEBUG = int(os.environ.get("DEBUG", default=0))
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS").split(" ")
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
Run Code Online (Sandbox Code Playgroud)
设置.py
from core.env_settings import *
print(ALLOWED_HOSTS)
"""
print(ALLOWED_HOSTS) returns ['localhost', '127.0.0.1', '0.0.0.0', '[::1]']
"""
Run Code Online (Sandbox Code Playgroud)
注意:我已经仔细查看了此处发布的所有类似问题,并且没有与此特定问题相关的问题。
小智 16
ALLOWED_HOSTS我刚刚在文件 <your_app_path>/ 中添加了 ip属性settings.py。
例如
...
ALLOWED_HOSTS = ['0.0.0.0']
...
Run Code Online (Sandbox Code Playgroud)
而且效果很好。
小智 7
查看settings.py并填写ALLOWED_HOSTS,如下所示。对于本地主机:
ALLOWED_HOSTS = ["0.0.0.0"]
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做
ALLOWED_HOSTS = ["*"]
Run Code Online (Sandbox Code Playgroud)
小智 0
您必须从运行 django 应用程序的位置找到您的设备 IP 地址。
在本地网络上使用 django 运行命令 python manage.py runserver 0.0.0.0:8000
要在连接到同一本地网络的其他设备上运行,您必须输入运行 django 应用程序的服务器设备的 IP 地址。
192.168.1.1:8000/ # 这只是虚拟示例。
只要两个设备都连接到同一网络,它就应该可以工作。并且允许防火墙。