Ok, então eu estava enfrentando exatamente o mesmo problema. Existem muitas sugestões sobre como você pode modificar parte das bibliotecas existentes para fazer o Python3 funcionar com o MySQL, mas não encontrei nenhuma delas funcionando 100%. Não consegui fazer o conector MySQL Python oficial para funcionar com Django e Python 3.3.
O que funcionou foi mudar para a biblioteca PyMySQL. Alguns meses atrás eu já tentei, mas não funcionou para mim naquela época. Agora, há uma nova versão, 0.6.1, que funcionou imediatamente. Então, mais alguns detalhes:
Meu ambiente:OSX 10.9 , Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 no Windows
Como fazer isso funcionar:
-
Instale o PyMySQL versão 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):você pode instalá-lo usando pip, ou seja:pip install PyMySQL
ou baixando manualmente o pacote; há uma boa documentação em seu site sobre como fazer isso.
-
Abra seu aplicativo Django __init__.py e cole as seguintes linhas:
import pymysql pymysql.install_as_MySQLdb()
-
Agora, abra settings.py e certifique-se de que sua propriedade DATABASE esteja assim:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'dbuser', 'PASSWORD': 'dbpassword', 'HOST': 'dbhost', 'PORT': '3306' } }
-
É isso, você deve ser capaz de executarpython manage.py syncdb
então inicialize seu banco de dados MySQL; veja o exemplo de saída abaixo:
Creating tables ... Creating table django_admin_log Creating table auth_permission Creating table auth_group_permissions ... ... Creating table socialaccount_socialtoken You just installed Django's auth system, which means you don't have any superusers defined. ...