Django + Django Tenants + DRF API = http:错误:gaierror:[Errno 11001] getaddrinfo失败

tgabmvqs  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(164)

有人能帮我解决我收到的错误吗?
我正在使用django-tenants包和DRF REST API
问题是通过浏览器访问API VIEW工作正常,例如:
第一个月
但是通过“requests”向这个地址发送请求会出现错误:
HTTPConnectionPool(host='demo.localhost', port=9000): Max retries exceeded with url: /api/zakaz/3/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000017E1D9FEB00>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
类似地,从控制台甚至到基本地址“demo.localhost:9000”的PING或HTTPIE请求给出相同的:

http http://demo.localhost:9000/                 

http: error: gaierror: [Errno 11001] getaddrinfo failed
Couldn’t resolve the given hostname. Please check the URL and try again.

字符串
这意味着这个地址只能在浏览器中解析,而不是从Django或Python控制台解析。
我做错了什么?如何在django-tenants中为每个租户分别发送API请求?
我在TENANT APPS中添加了REST框架:

TENANT_APPS = (
    # your tenant-specific apps
    'rest_framework',
    'api.apps.ApiConfig',
    'orders.apps.OrdersConfig',
    'patients.apps.PatientsConfig',
)

oxcyiej7

oxcyiej71#

我花了将近8个小时来修复它,现在-我得到了问题-出于某种原因浏览器从地址字符串解析通配符子域,但Windows未能这样做的pycharm和python。
我已经编辑了HOSTS文件,添加了子域

127.0.0.1 demo.localhost
127.0.0.1 revital.localhost
127.0.0.1 localhost

字符串
你猜怎么着?API和一切都按预期工作...
基本上为localhost开发我将不得不添加所有可能的租户子域...
我如何在Django中处理租户通配符子域,而不仅仅是在HOSTS文件中列出它们?
任何想法/工作解决方案?
Linux发行版会发生这种情况吗?

相关问题