django - TypeError: connect() 参数 4 必须是 str,而不是 WindowsPath。/*我在简单的登录 django 项目中遇到的错误*/
问题描述
系统检查未发现任何问题(0 静音)。
您有 18 个未应用的迁移。在您为应用程序应用迁移之前,您的项目可能无法正常工作:admin、auth、contenttypes、sessions。运行“python manage.py migrate”以应用它们。2021 年 2 月 17 日 - 19:52:27 Django 版本 3.1.6,使用设置 'felix.settings' 在http://127.0.0.1:8000/启动开发服务器 使用 CTRL-BREAK 退出服务器。C:\Users\FELIX\OneDrive\Desktop\Projects\django login2\felix\felix\settings.py 已更改,正在重新加载。使用 StatReloader 监视文件更改正在执行系统检查...
系统检查未发现任何问题(0 静音)。线程 django-main-thread 中的异常:回溯(最后一次调用):文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\threading.py”,第 950 行,在 _bootstrap_inner self. run() 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\threading.py”,第 888 行,在运行 self._target(*self._args, **self._kwargs) 文件中“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\autoreload.py”,第 53 行,在包装器 fn(*args, **kwargs) 文件中“C :\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\commands\runserver.py”,第 121 行,inner_run self.check_migrations() 文件“C:\用户\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\management\base.py",init self.loader = MigrationLoader(self.connection) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\migrations\loader.py”,第 53 行,在初始化 self.build_graph() 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\migrations\loader.py”,第 216 行,在 build_graph self.applied_migrations = recorder.applied_migrations() 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\migrations\recorder.py”,第 77 行,如果 self.has_table 则在应用迁移中(): 文件 "C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\migrations\recorder.py",第 55 行,在带有 self.connection.cursor 的 has_table 中() 作为光标:文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py”,第 26 行,内部返回 func(*args, **kwargs) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py”,第 259 行,在光标中返回 self._cursor() 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py ",第 235 行,在游标 self.ensure_connection() 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py”,第 26 行,内部返回 func(*args , **kwargs) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py”,第 219 行,在 ensure_connection self. connect() 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py”,第 26 行,内部返回 func(*args, ** kwargs)文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py”,第 200 行,连接 self.connection = self .get_new_connection(conn_params) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py”,第 26 行,在内部返回 func(*args, **kwargs) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\mysql\base.py”,第 234 行,在 get_new_connection 返回 Database.connect(**conn_params) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\MySQLdb_init .py”,第 130 行,在 Connect 返回 Connection(*args, **kwargs) 文件“C:\Users\FELIX\AppData\Local\Programs\Python\Python39\lib\site-packages\MySQLdb\connections.py ",第 185 行,在init super(). init (*args, **kwargs2) TypeError: connect() argument 4 must be str, not WindowsPath
解决方案
I got similar error information while doing makemigrations, and str() worked.
# BASE_DIR = Path(__file__).resolve().parent.parent
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {
'read_default_file': str(BASE_DIR / 'my.cnf')
}
}
}
推荐阅读
- python - 如何解压缩文件夹和子文件夹中的所有 .zip 文件?
- wordpress - 如何将包含标题和数据行的 CSV 导入自定义分层分类?
- node.js - 如何以编程方式将 aws 凭据和配置传递给 nodejs 中的 aws sdk?
- qt - Qt Installer Framework 可以返回失败退出代码吗?
- firebase - Firebase 令牌验证安全性
- google-kubernetes-engine - 使用 istio-proxy 在 pod 中运行 helm 命令
- sql - 从第一个选择中获取 id 以获取下一个选择语句
- c# - 为 Windows 10 IoT Core 使用 IS_Nrf24L01 nuget 包
- mysql - 从查询中获取最后一个单词
- c# - 比较两个复杂的数据列表