首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1',port=8000):最大重试超过url: /api/1/

requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1',port=8000):最大重试超过url: /api/1/
EN

Stack Overflow用户
提问于 2019-05-06 18:04:44
回答 6查看 32.5K关注 0票数 6

我试图在DjangoPython文件之间进行通信,但是我得到了以下错误:

requests.exceptions.ConnectionError: HTTPConnectionPool(主机=‘127.0.0.1’,port=8000):最大重试超过url: /api/1/ (由NewConnectionError引起(‘:未能建立新连接: WinError 10061由于目标机器主动拒绝而无法建立连接“)

我在一个test.py应用程序中创建了一个名为Django的Python文件,并试图在它们之间进行通信。我的Python文件包含以下代码:

代码语言:javascript
运行
复制
import requests
BASE_URL='http://127.0.0.1:8000/'
ENDPOINT='api/'
def get_resource(id):
    resp=requests.get(BASE_URL+ENDPOINT+id+'/')
    print(resp.status_code)
    print(resp.json()) 
id=input("Enter some ID: ")
get_resource(id)

Models.py包含:-

代码语言:javascript
运行
复制
from django.db import models

# Create your models here.
class Employee(models.Model):
    eno=models.IntegerField()
    ename=models.CharField(max_length=70)
    esal=models.FloatField()
    eaddr=models.CharField(max_length=100)

Admin.py包含:-

代码语言:javascript
运行
复制
from django.contrib import admin
from testapp.models import Employee
# Register your models here.
class EmployeeAdmin(admin.ModelAdmin):
    list_display=  ['id','eno','ename','esal','eaddr']

admin.site.register(Employee,EmployeeAdmin)

我的Views.py包含:-

代码语言:javascript
运行
复制
from django.shortcuts import render
from django.views.generic import View
from testapp.models import Employee
import json
from django.http import HttpResponse


class EmployeeDetailCBV(View):
def get(self,request,id,*args,**kwargs):
    emp = Employee.objects.get(id=id)  
    emp_data = {'eno':emp.eno , 'ename':emp.ename , 'esal':emp.esal , 'eaddr':emp.eaddr} 
    json_data=json.dumps(emp_data)
    return HttpResponse(json_data , content_type='application/json')

urls.py文件包含:-

代码语言:javascript
运行
复制
from django.contrib import admin
from django.urls import path
from testapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/(?P<id>\d+)/$', views.EmployeeDetailCBV.as_view()),
]

犯错误,如:

requests.exceptions.ConnectionError: HTTPConnectionPool(主机=‘127.0.0.1’,port=8000):最大重试超过url: /api/1/ (由NewConnectionError引起(‘:未能建立新连接: WinError 10061由于目标机器主动拒绝而无法建立连接“)

请帮帮我。谢谢你们这些技术人员..。

EN

Stack Overflow用户

发布于 2019-05-06 18:08:02

试试这个:

代码语言:javascript
运行
复制
import requests

# BASE_URL='http://127.0.0.8000' <<< Url with port malformed
BASE_URL='http://127.0.0.1:8000'
ENDPOINT='api/'
def get_resource():
    # resp=requests.get(BASE_URL+ENDPOINT)  <<< Request url malformed
    resp=requests.get(BASE_URL+"/"+ENDPOINT)
    print(resp.status_code)
    print(resp.json())
get_resource()
票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56010271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档