django,phpmyadmin和mysql?

时间:2011-02-06 20:14:37

标签: mysql django windows-7 phpmyadmin xampp

我想开始使用Django和MYSQL,而不是一直使用sqlite,但是我使用MSQL的唯一经验是通过XAMPP,通过phpmyadmin操作数据库。我真的希望保持与mysql的这种gui交互,而不必通过命令行完成所有事情。

您可以使用xampp / phpmyadmin启动和管理MYSQL数据库,然后仅使用Django的开发服务器将django用于Web开发端吗?

或者您是否必须始终通过命令行启动新数据库,如果是这样,它是如何完成的,请记住我只通过xampp / phpmyadmin使用mysql?

我知道如何通过django链接和管理数据库,我只是不知道如何通过它启动一个mysql,我真的不想放弃xampp / phpmyadmin附带的mysql gui。非常感谢所有的帮助。

3 个答案:

答案 0 :(得分:11)

您绝对可以通过XAMPP界面管理Mysql。尝试将settings.py中的DB_HOST设置为“localhost”。如果不起作用,请尝试“127.0.0.1”。这通常是由python-mysql模块引起的,期望mysql unix socket位于另一个地方而不是它。实际上,我不确定mysql服务器是否在Windows上使用了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',然后才能使用它。

答案 1 :(得分:3)

我强烈建议您查看postgresql!它配备了一个类似Sqlserver-Management-System的数据库浏览器,可以在桌面上运行,而不是基于Web的前端。现在您不必担心与Django一起配置PHP。 Postgresql可能比XAMPP上的MySql更难安装,但我相信你可以从中获得很多。

Postgresql也比MySQL更好(IMO),并且是很多接近Django的人推荐使用Django的数据库。

那就是说,我目前使用的是Oracle,所以你可能不应该听我说。 :)

答案 2 :(得分:2)

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