Python:TypeError:需要一个整数(获取类型str)

Python:TypeError:需要一个整数(获取类型str),python,mysql,django,Python,Mysql,Django,这里我得到了错误 File "C:\Users\DEEDEVTR01\Desktop\python\pyenv\lib\site-packages\MySQLdb\__init__.py", line 84, in Connect return Connection(*args, **kwargs) File "C:\Users\DEEDEVTR01\Desktop\python\pyenv\lib\site-packages\MySQLdb\connections.py", lin

这里我得到了错误

 File "C:\Users\DEEDEVTR01\Desktop\python\pyenv\lib\site-packages\MySQLdb\__init__.py",
 line 84, in Connect
 return Connection(*args, **kwargs)   File "C:\Users\DEEDEVTR01\Desktop\python\pyenv\lib\site-packages\MySQLdb\connections.py",
 line 179, in __init__
 super(Connection, self).__init__(*args, **kwargs2) TypeError: an integer is required (got type str)
我认为连接是正确的,但我不确定为什么会出现这种错误,如果有人能帮我找出我做错了什么,那就太好了

设置.py


DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'HOST': 'localhost',
        'NAME': 'deebaco',
        'USER': 'deebaco',
        'PASSWORD': 'deebaco',
        'PORT': '3306',
    }
}


import MySQLdb

def connection():
    conn = MySQLdb.connect(database="deebaco", user = "deebaco", password = "deebaco", host = "localhost", port = "3306")

    print ("Opened database connect successfully")

    cur = conn.cursor()

    return cur, conn
views.py

from rest_framework import views
from rest_framework.views import APIView

import MySQLdb
from testpro.settings import connection
cur, conn = connection()

class Product_ListAPIView(APIView):
    def get(self,request,format=None):
        cur,conn = connection()
        query = ''' SELECT * FROM products'''
        try:
            with conn.cursor(MySQLdb.cursors.DictCursor) as cursor:
                cursor.execute(query)
                result = cursor.fetchall()
                data = list(result)

            return Response({"data":result},status=status.HTTP_200_OK)
        except Exception as e:
            print(e)


我认为连接是正确的,但我不确定为什么会出现此错误,如果有人能帮我找出我做错了什么,那就太好了

连接端口是否有引号

如果是,请删除引号以解决此问题:

发件人:

port = "3306"


连接的端口是否有引号

如果是,请删除引号以解决此问题:

发件人:

port = "3306"


你在使用Debian Linux吗?!你在使用Debian Linux吗?!现在我得到了AssertionError,期望从视图中返回
响应
HttpResponse
HttpStreamingResponse
,但在异常处理部分收到了
,在
打印后添加
返回响应(状态=status.HTTP_500_INTERNAL_SERVER_ERROR)你能解释一下我哪里出错的吗?这看起来像是内部服务器错误。现在我得到了断言错误,期望从视图返回
响应
HttpResponse
HttpStreamingResponse
,但在异常处理部分收到了
,在
打印
返回响应之后添加(status=status.HTTP\u 500\u INTERNAL\u SERVER\u ERROR)您能解释一下我从哪里得到的错误吗?看起来像是内部服务器错误。