1.創建數據庫
create database db_name default charset utf8 collate utf8_unicode_ci;
2.安裝pymysql
項目的__init__.py下:
import pymysql
pymysql.install_as_MySQLdb()
錯誤一:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
解決方法:
/site-packages/django/db/backends/mysql/base.py裏註釋:
# if version < (1, 3, 13):
# raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
錯誤二:
AttributeError: 'str' object has no attribute 'decode'
解決方法:
query = query.decode(errors='replace') >>query = query.encode(errors='replace')
3.setting數據庫配置與數據遷移
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'cus_xadmin',
'USER': 'root',
'PASSWORD': 'Aa123456',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
makemigrations -->將每個應用下的models先映射成數據庫的日誌文件(中間文件),並存放在每個應用下的migrations的文件夾.
migrate -->將每個映射下的migraltions文件夾中的日誌文件同步到數據庫中.
後面集成xadmin後,執行上述命令可能報錯。解決方法:刪掉所有的表,重新執行上述命令即可。
4.集成xadmin(這裏是源碼)
把extra_apps加入python的搜索路徑的list裏面(後面的apps也是同理):
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))
集成xadmin所需要安裝的包 :
INSTALLED_APPS = [
...
'xadmin',
'crispy_forms',
'reversion',
...
]
xadmin的依賴,根據xadmin源碼裏的requirements.txt安裝即可。
# 設置AUTH_USER_MODEL,是爲了讓django使用自定義的model,而不是自帶的model。
AUTH_USER_MODEL = "user_profile.UserProfile"
再次執行makemigrations/migrate時,可能報錯,直接刪除除__init__.py外的文件後再執行即可。
5.創建超級用戶
createsuperuser