Kits

システム、プログラミングなど

djangorestframework-simplejwt で Unauthorized

djangorestframework-simplejwt で Unauthorized の認証エラー
settings.py の設定内容が誤っていたので下記の通り修正。

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ],
}

SIMPLE_JWT = {
    'AUTH_HEADER_TYPES': ('JWT',),
    'ACCESS_TOKEN_LIFETIME': timedelta(minutes=30),
}

直りました。

Django simplejwt で 'str' object has no attribute 'decode'

djangorestframewrok
djangorestframewrok-simplejwt
を使用した際に、下記のエラーが発生

AttributeError: 'str' object has no attribute 'decode'

ライブラリのバージョンは下記の通り
(pip list または pip freeze で確認)

djangorestframewrok==3.11.0
djangorestframewrok-simplejwt==4.1.2

simplejwtのバージョンを4.6.0に更新

pip install djangorestframewrok-simplejwt==4.6.0

直りました。

Django adminサイトでno such table

Django adminサイトでテーブルの中身を参照しようとすると 下記のエラーが発生

~
django admin Exception Value: no such table:
~

もう一回migrateしてみる。

python manage.py makemigrations
python manage.py migrate

何故か直りました。

HHKBの英語日本語切り替え

HHKBの英語配列を使用していますが、
英語日本語切り替えのキーマップについて
私なりの最適解が見つかりました。

それは、 Ctrl 空打ちでの切り替えです。

それまでに試してみたのが

  • Ctrl + Spaceで切り替え
  • Shift + Spaceで切り替え
  • Alt で切り替え
  • Win で切り替え

どれもしっくりこず、
ずっとモヤモヤしていました。

つい最近、Ctrl との同時押しを生かしたまま、
Ctrl 空打ちで切り替えられることが判りました。

日本語キーボードの Caps Lock で英語日本語切り替えと
同じ運指となり、とてもしっくりきます。

頭の上にかかっていた雲が吹き飛んだようです。

以下、AutoHotKeyスクリプトです。

$Ctrl::
    startTime := A_TickCount
    KeyWait, Ctrl
    keyPressDuration := A_TickCount - startTime
    If (A_ThisHotkey == "$Ctrl" and keyPressDuration < 200) {
        Send !{``}
    }
    Return