這個錯誤發生在django數據遷移的時候,(在第一次數據遷移以后,才設置AUTH_USER_MODEL自定義用戶模型,就會報這個錯)
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency account.0001_initial on database 'default'.
===================解決方案一 ================
首先 , 檢查配置文件中的 INSTALLED_APPS 是否被注釋,將它釋放,再次執行還報錯,試試第二種方案
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', ...]
=================方案二==================
問題分析,你在配置中設置了 AUTH_USER_MODEL = 'user.User' (應用名.模型類名),擴展django自帶的user認證.
由於不是項目的第一次遷移,所以會產生此問題,解決方案如下:
0. 先把現有的數據庫導出備份,然后清掉數據庫中所有的數據表。 1. 把開發者創建的所有子應用下面的migrations目錄下除了__init__.py以外的所有遷移文件,只要涉及到用戶的,一律刪除 2. 把django.contrib.admin.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。 3. 把django.contrib.auth.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。 4. 把reversion.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。 5. 把xadmin.migrations目錄下除了__init__.py以外的所有遷移文件,全部刪除。 6. 接下來,執行數據遷移,回顧第0步中的數據,以后如果要修改用戶相關數據,不需要重復本次操作,直接數據遷移即可。
=================bug三=======================
寫項目,以后一定記得嚴謹些, 一個項目對應一個專有的虛擬環境.
有時候也可能是你使用的虛擬環境的問題, 你需要確認, 這是否是該項目專有的虛擬環境, 就是說該even文件是否在你的項目中體現;
原因: 按照方案二刪完后, pycharm對於虛擬環境中新生成的文件,無法正常刷新出來,需要你重啟pycharm,得到刷新
=================xadmin的報錯問題=================
pip 安裝的2.0.1版本xadmin(我試驗的時候就是會出錯) 有很大幾率出錯
解決方案:
手動下載 https://codeload.github.com/sshwsfc/xadmin/zip/django2
解壓后, pip install -r requirements.txt,然后將解壓后的文件中的xadmin文件復制到項目的根目錄下。
在setting.py文件中,添加xadmin文件到注冊表,后面都是正常流程了
=================pillow模塊=================
若數據庫中使用ImageField屬性定義字段,需要安裝pillow模塊
==============ubuntu下安裝python-ldap=================
https://www.cnblogs.com/zhaoyunlong/p/10510631.html
今天安裝一個python-ldap 和ldap交互的模塊
首先安裝的時候會提示我們
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
這就是典型的 缺少依賴
首先安裝
sudo apt-get install libldap2-dev
然后再安裝
sudo apt-get install libsasl2-dev
然后就可以繼續安裝你的python-ldap模塊了
======= windows下安裝django-auth-ldap========
pip install django-auth-ldap 時往往會出現如下錯誤,這是因為缺少系統插件
error: Microsoft Visual C++ 14.0 is required
解決方案:
百度網盤下載:https://pan.baidu.com/s/1pOocz2C6_6SBQ3fgA3D7Aw 密碼:4e98
下載 visualcppbuildtools+full.exe 程序, 安裝Visual
安裝完畢后,按照如下步驟安裝
# 根據電腦配置,下載python-ldap,例如我的是win10系統64位,python版本為36,則下載python_ldap-3.2.0-cp36-cp36m-win_amd64.whl https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap pip install python_ldap-3.2.0-cp36-cp36m-win_amd64.whl pip install django==1.11.3 pip install django-auth==0.1.9 pip install django-auth-ldap==1.7.0 pip install -r 文件絕對路徑\requirements.txt
==============Git的多SSH Key解決方案=============
https://www.jianshu.com/p/95e00370fa2c