Django、phpMyAdmin和MySQL是什么?

12

我想开始使用Django与MYSQL,而不是一直使用sqlite,然而我仅有的使用MSQL的经验是通过XAMPP,并通过phpmyadmin操作数据库。我真的想保留这种与mysql的GUI交互,而不必通过命令行完成所有操作。

您是否可以使用xampp/phpmyadmin启动和管理MYSQL数据库,然后仅使用Django的开发服务器进行Web开发?

还是说您必须始终通过命令行启动新的数据库?如果是这样,该如何做到这一点,需要注意我只使用xampp/phpmyadmin来操作mysql?

我知道如何通过Django连接和管理数据库,我只是不知道如何通过它启动mysql,而且我真的不想失去xampp/phpmyadmin提供的mysql GUI。非常感谢您提供的所有帮助。

3个回答

12
你可以通过XAMPP界面来管理Mysql。尝试将settings.py中的DB_HOST设置为"localhost"。如果不起作用,请尝试使用"127.0.0.1"。这通常是由于python-mysql模块期望mysql unix套接字位于另一个位置而导致的。实际上,我不确定在Windows上mysql服务器是否使用unix套接字。无论如何,其中一个应该起作用 :)
你可以使用在phpmyAdmin登录时使用的凭据来登录Django。许多人认为在非管理任务中使用root是不好的风格(我也同意),但对于初学者和在开发机器上工作的用户来说,这并不是太大的问题。 phpMyAdmin应该开箱即用地与你使用Django管理的数据库一起工作。
我针对mysql在settings.py中的数据库设置块大致如下:
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'。


我想做同样的事情,但是遇到了问题...
  • 你安装了mysqlclient或MySQL-python吗?
这是我已经遇到的错误。现在,在数据库配置之后,如果我运行服务器,我会发现尽管我有php myadmin正在运行,但我仍然面临着这个问题。 https://imgur.com/9UeQzfT现在,我也尝试过 'manage.py syncdb'。它返回相同的问题- https://imgur.com/WpuKv1XFYI,我正在使用mac和xampp。@kevinRead,有什么建议吗?
- tisuchi

4
我强烈推荐您查看postgresql!它带有一个类似于Sqlserver-Management-System的数据库浏览器,可在桌面上运行,而不是基于Web的前端。现在您不需要担心在Django旁边配置PHP了。相信安装Postgresql可能比在XAMPP上安装MySQL更难,但我相信这样做会让您受益匪浅。
我认为Postgresql比MySQL好得多,并且根据许多接近Django的人的建议,是与Django一起使用的推荐数据库。
话虽如此,我目前使用Oracle,所以您可能不应该听我的意见。 :)

我赞同这个观点,研究MySQL的替代方案通常是一个好主意。MySQL很普遍且相当快,但这并不意味着它在所有方面都很好。探索其他DBMS可以更深入地了解MySQL的优缺点,你将会知道何时选择哪个DBMS。 - Kevin Read
谢谢,由于某些原因,我没有想到在Django中使用PostgreSQL,尽管我以前已经在Geodjango中使用过它来处理空间数据。我想我只是太习惯于phpmyadmin了,因为我经常使用它,但这是一个好的解决方案,而且既然它被推荐了,我会尝试使用一段时间。干杯。 - Stu

3

您可以使用phpMyAdmin轻松管理数据库。Django所需的只是数据库的权限和访问信息。一旦设置好(在phpMyAdmin中授予权限并在Django的settings.py中添加访问信息),例如,您只需要运行manage.py syncdb,然后就完成了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接