Python3.7+Django2.2.4+Xadmin

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章