やりたいこと
新規登録>ログイン>個人ページ と行き
個人ページであなたは 「アクセスしてるユーザーネーム」 です と表示させたい
状況
MultiValueDictKeyError at /Loginsというエラーに阻まれる
ホーム ログイン 新規登録 個人ページの四つがあり 個人ページの作成中にエラーが発生
ログインページを経由の場合 (登録済みだがログインはしてないアカウントを使用)
Logins>info> 結果 multivaluedictkeyerror at /logins
直接アクセスの場合(http://127.0.0.1:8000/info)
info> 結果 あなたはroot(スーパーユーザー)です
スーパーユーザーがログアウト状態の時は あなたはNoneです、となります
一応直接いけば表示はされるのですが一般ユーザーが使うログイン画面からはアクセスできません
なぜこのようなことになるのでしょうか?
ログインページ
def Logins(request): massege="" if (request.method=="POST"): username = request.POST['username'] raw_password = request.POST['password1'] user = authenticate(username=username, password=raw_password) if user: if user.is_active: # ログイン #login(request,user) return short.redirect(to="/info") else: return HttpResponse("アカウントが有効ではありません") else: massege="ログインIDまたはパスワードが間違っています" return short.render(request, 'logins/login.html',{"massege":massege})
エラーが出ているページ #user = request.userでも同様の挙動
def info(request): #user = request.user aa=request.user.username massege="新しいキャラを追加してください" if (request.method == 'POST'): form = touhou_Add(request.POST) if form.is_valid(): form.save() massege="追加されたはず..." else: massege="ちゃんと書け!!!!" val = touhou.objects.all() val_2 = touhou.objects.values() header = ['ID','名前',"能力","性別","居住","年齢"] my_dict2 = { 'form':touhou_Add(), "massege":massege, 'title':'テスト', 'header': header, "val":val, "val2":val_2, "tokutei":aa } return short.render(request, 'info.html', my_dict2)
エラーが出ているページHTML側 関係ない部分は省きました
info.html
<p>あなたは {{tokutei}} です</p><br>
エラー
MultiValueDictKeyError at /Logins 'username' Request Method: POST Request URL: http://127.0.0.1:8000/Logins Django Version: 3.2.10 Exception Type: MultiValueDictKeyError Exception Value: 'username' Exception Location: C:\Users\PC_User\Anaconda3\envs\pyflan\lib\site-packages\django\utils\datastructures.py, line 78, in __getitem__ Python Executable: C:\Users\PC_User\Anaconda3\envs\pyflan\python.exe Python Version: 3.7.7 Python Path: ['C:\Users\PC_User\Desktop\test\python_flan', 'C:\Users\PC_User\Anaconda3\envs\pyflan\python37.zip', 'C:\Users\PC_User\Anaconda3\envs\pyflan\DLLs', 'C:\Users\PC_User\Anaconda3\envs\pyflan\lib', 'C:\Users\PC_User\Anaconda3\envs\pyflan', 'C:\Users\PC_User\AppData\Roaming\Python\Python37\site-packages', 'C:\Users\PC_User\Anaconda3\envs\pyflan\lib\site-packages', 'c:\users\pc_user\desktop\ml-agents-0.15.0\ml-agents-envs', 'c:\users\pc_user\desktop\ml-agents-0.15.0\ml-agents', 'C:\Users\PC_User\Anaconda3\envs\pyflan\lib\site-packages\win32', 'C:\Users\PC_User\Anaconda3\envs\pyflan\lib\site-packages\win32\lib', 'C:\Users\PC_User\Anaconda3\envs\pyflan\lib\site-packages\Pythonwin'] Server time: Tue, 04 Jan 2022 01:09:37 +0900
参考
https://wonderwall.hatenablog.com/entry/2018/03/25/180000 古いですがこれしかみつかりませんでした
https://kuma-server.com/django-request/#toc2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/04 08:38
2022/01/05 00:30
2022/01/05 20:33
2022/01/05 20:35