Ok, jadi saya mengalami masalah yang persis sama. Ada banyak saran tentang bagaimana Anda dapat memodifikasi bagian dari perpustakaan yang ada untuk membuat Python3 bekerja dengan MySQL, tapi saya tidak menemukan satupun dari mereka bekerja 100%. Saya tidak dapat membuat konektor resmi MySQL Python untuk bekerja dengan Django dan Python 3.3.
Apa yang berhasil adalah beralih ke perpustakaan PyMySQL sebagai gantinya. Beberapa bulan yang lalu saya sudah mencobanya tetapi tidak berhasil untuk saya saat itu. Sekarang, ada versi baru, 0.6.1 yang bekerja di luar kotak. Jadi, beberapa detail lagi:
Lingkungan saya:OSX 10.9 , Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 di Windows
Cara membuatnya bekerja:
-
Instal PyMySQL versi 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):Anda dapat menginstalnya dengan menggunakan pip, yaitu:
pip install PyMySQL
atau dengan mengunduh paket secara manual; ada dokumentasi bagus di situs web mereka tentang cara melakukannya. -
Buka Aplikasi Django Anda __init__.py dan rekatkan baris berikut:
import pymysql pymysql.install_as_MySQLdb()
-
Sekarang, buka settings.py dan pastikan properti DATABASE Anda terlihat seperti ini:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'dbuser', 'PASSWORD': 'dbpassword', 'HOST': 'dbhost', 'PORT': '3306' } }
-
Itu saja, Anda harus dapat menjalankan
python manage.py syncdb
jadi init DB MySQL Anda; lihat contoh output di bawah ini: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. ...