Django版本:2.1
Python版本:3.6
其他的Django版本和Python版本也可作參考
最近在完成項目的時候遇到了一個新的業務——使用前後端分離技術,在沒有提供註冊登錄的機制下,實現POST方法的數據傳遞。
在網上找了很多文章,也向前輩請教過幾次,困難的一直沒有解決。最後,通過查閱Django的文檔、查看源碼以及參考網絡文章,得以解決。將方法總結如下
安裝必要的庫
在pycharm中的setting中進行配置,或者也可直接在虛擬環境中安裝
pip install djangorestframework
直接安裝最新版本的即可,Python3.6不會出現版本不兼容的問題
由於token令牌的特殊機制,需要在django項目的settings.py中注入這個app
注入app之後,在manage.py中運行命令,生成新的表並遷移到數據庫中
makemigrations
migrate
遷移完成之後,由於沒有實現登錄註冊的功能,但django自帶的機制可以實現超級管理員用戶的註冊,在manage.py文件中創建一個超級用戶
create superuser
輸入相應的信息,即可完成註冊
註冊之後,表中不會直接生成這個用戶的令牌,也就是token,需要繼續運行命令,以生成該用戶的token令牌,運行以下命令,其中的參數username爲自己創建的用戶名
drf_create_token <username>
運行結束之後,出現以下信息,即表明已經生成了自己的token令牌,也可直接在數據表中查詢
將這個口令添加到POST請求得header中,即可成功向後端發起相應的POST請求,進行數據測試
具體參數爲
{'X-CSRFToken': 生成的token令牌}
注:用戶的token令牌一旦生成,將會永久有效;實際的開發中,應該注意不要輕信託管以及第三方平臺