簡體   English   中英

盡管我安裝了 PyJwt,但“導入 jwt”在 Django views.py 中不起作用

[英]'import jwt' not working in Django views.py though I have PyJwt installed

我正在使用 Django 並嘗試在 views.py 中生成jwt 令牌並將其顯示在 html 頁面中。 import jwt在 views.py 中拋出No module found 錯誤,即使我已經在虛擬環境中安裝了PyJwt並且它在views.py (比如 jwttoken.py 文件)之外工作正常

視圖.py

import jwt
def generateJWT(portal):
    key = 'secret'
    payload =  {'iat': time.time(),
                'iss' : 'localhost',
                'exp': int(time.time()) + (5*365*24 * 60),
                'portal': portal}  
    #return payload
    return jwt.encode(payload, key, algorithm="HS256")

這是否意味着我不能在 django 中使用 jwt 模塊? 有沒有其他方法可以讓它在 Django 工作,因為它在外面工作?

jwtPyJWT是兩個不同的模塊。 它們都是使用“import jwt”導入的,因此它們可能會相互沖突。

查看你安裝的是哪個JWT模塊。 如果兩者都有,請嘗試刪除其中一個。

另請參閱: PyJWT 不會導入 jwt.algorithms(ModuleNotFoundError:沒有名為“jwt.algorithms”的模塊)

您可以通過在終端中運行“pip freeze”來檢查它是否已安裝,如果未列出“jwt”則表示它在您的 pj 中不可用。 或者您可以嘗試 import pyjwt 而不是 import jwt 來檢查它是否有效。

否則,django 項目本身可能有問題。 確保你激活了確切的環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM