前後端分離下的token機制

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令牌一旦生成,將會永久有效;實際的開發中,應該注意不要輕信託管以及第三方平臺

發佈了9 篇原創文章 · 獲贊 4 · 訪問量 608
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章