我想开始使用 Django 和 MYSQL,而不是一直使用 sqlite,但是我使用 MSQL 的唯一经验是通过 XAMPP,通过 phpmyadmin 操作数据库。我真的很想保持此 gui 与 mysql 的交互,而不必通过命令行完成所有操作。
您可以使用 xampp/phpmyadmin 启动和管理 MYSQL 数据库,然后仅使用 Django 的开发服务器将 django 用于 Web 开发端吗?
或者您是否必须始终通过命令行启动新数据库,如果是这样,它是如何完成的,记住我只通过 xampp/phpmyadmin 使用 mysql?
我知道如何通过 django 链接和管理数据库,我只是不知道如何通过它启动一个 mysql,而且我真的不想松开 xampp/phpmyadmin 附带的 mysql gui。非常感谢所有帮助。
最佳答案
通过XAMPP接口(interface)绝对可以管理Mysql。尝试将 settings.py 中的 DB_HOST 设置为“localhost”。如果它不起作用,请尝试“127.0.0.1”。这通常是由于 python-mysql 模块期望 mysql unix 套接字位于另一个位置。实际上,我不确定 mysql 服务器是否在 Windows 上使用 unix 套接字。无论如何,两者之一应该工作:) 您也可以将用于登录 phpmyAdmin 的凭据用于 Django。许多人认为使用 root 执行非管理任务是不好的风格(我同意),但对于初学者和您的开发机器来说,这不是什么大问题。 phpMyAdmin 应该可以开箱即用地使用您的 django 管理的数据库。
我的 mysql 数据库 settings.py block 看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'DBNAME', # Or path to database file if using sqlite3.
'USER': 'USER', # Not used with sqlite3.
'PASSWORD': 'PASSWORD', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
这适用于 django 1.2 及更高版本。将 DBNAME、USER 和 PASSWORD 替换为各自的值,如果遇到问题,请尝试将“127.0.0.1”作为 HOST。显然,您需要像使用 sqlite 一样运行“manage.py syncdb”,然后才能使用它。
关于mysql - django、phpmyadmin 和 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4915808/