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)您能解释一下我从哪里得到的错误吗?看起来像是内部服务器错误。