Li FRANK 2024-02-29 14:15 采纳率: 68.9%
浏览 2
已结题

Django报错:TypeError: 'tuple' object is not callable

Django配置MySQL数据库,报错TypeError: 'tuple' object is not callable

settings.py改动:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'django_try',
        'USER':'root',
        'PASSWORD':'MySQL110927'
    }
}

init.py改动:

import pymysql

pymysql.version_info(1,3,13,"final",0)
pymysql.install_as_MySQLdb()

报错:

Traceback (most recent call last):
  File "C:\Users\86189\Desktop\Web\Django\blog\manage.py", line 22, in <module>
    main()
  File "C:\Users\86189\Desktop\Web\Django\blog\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Program Files\Python311\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "C:\Program Files\Python311\Lib\site-packages\django\core\management\__init__.py", line 382, in execute
    settings.INSTALLED_APPS
  File "C:\Program Files\Python311\Lib\site-packages\django\conf\__init__.py", line 89, in __getattr__
    self._setup(name)
  File "C:\Program Files\Python311\Lib\site-packages\django\conf\__init__.py", line 76, in _setup
    self._wrapped = Settings(settings_module)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\django\conf\__init__.py", line 190, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\86189\Desktop\Web\Django\blog\blog\__init__.py", line 3, in <module>
    pymysql.version_info(1,3,13,"final",0)
TypeError: 'tuple' object is not callable

如何处理?谢谢

  • 写回答

3条回答 默认 最新

  • Kwan的解忧杂货铺 2024-02-29 14:15
    关注

    Li FRANK 下午好🌅🌅🌅
    本答案参考通义千问

    这个错误是因为在尝试调用 pymysql.version_info 时,将其作为函数调用,但实际上是作为一个元组来获取版本信息。解决这个问题,你需要将 pymysql.version_info 从括号中移除,直接使用它作为变量:

    settings.py 的改动:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'django_try',
            'USER': 'root',
            'PASSWORD': 'MySQL110927'
        }
    }
    

    init.py 的改动:

    import pymysql
    
    # 不需要调用 version_info 了,因为这只是一个元组,不是函数
    # pymysql.version_info(1,3,13,"final",0)
    
    # 如果你想检查版本,你可以这样:
    version_tuple = pymysql.version_info
    print("MySQLdb version:", version_tuple)
    pymysql.install_as_MySQLdb()
    

    这样,你就不需要调用 version_info 作为函数,而是直接使用它作为变量。然后继续配置你的 Django 环境。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月29日
  • 已采纳回答 2月29日
  • 修改了问题 2月29日
  • 创建了问题 2月29日

悬赏问题

  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件