前提・実現したいこと
現在、Djnagoにてサッカーゲーム選手閲覧作成を行なっております。
まだ、コード入力してから間もない為、そこまでコード入力が進んでおりませんが、現在、プロフィールページ作成にて躓きがあり、
以下の件でご教示頂けると幸いです。
調べ方や確認できるような情報サイトでも構いません。
宜しくお願い致します。
【前提】
acounts(app)を作成し、
CustomUserにて、自分自身のユーザー情報を登録済み。
【実現したいこと】
acountsアプリ/CustomUserにて登録した自分自身の情報をプロフィールページとして公開したい。
ログイン前ページで公開したい為、一般公開用のプロフィールページになります。
発生している問題・エラーメッセージ
accounts.models.CustomUser.DoesNotExist: CustomUser matching query does not exist.
該当のソースコード
**pes21アプリ/base.html** <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <div class="container"> <ul class="navbar-nav ml-auto"> <li class="nav-item"> <a class="nav-link" href="/">ホーム</a> </li> <li class="nav-item"> #こちらのページから飛ぶとエラーになります <a href="{% url 'profile' %}" class="nav-link">管理者プロフィール</a> </li> {% if user.is_authenticated %} <li class="nav-item"> <a href="{% url 'account_logout' %}" class="nav-link">ログアウト</a> </li> {% else %} <li class="nav-item"> <a href="{% url 'account_login' %}" class="nav-link">ログイン</a> </li> {% endif %} </ul> </div> </nav>
**acountsアプリ/views.py** class ProfileView(View): def get(self, request, *args, **kwargs): user_data = CustomUser.objects.get(id=request.user.id) return render(request, 'accounts/profile.html',{ 'user_data' : user_data, }) class ProfileEditView(LoginRequiredMixin, View): def get(self, request, *args, **kwargs): user_data = CustomUser.objects.get(id=request.user.id) form = ProfileForm( request.POST or None, initial = { 'first_name' : user_data.first_name, 'last_name' : user_data.last_name, 'description' : user_data.description, 'image' : user_data.image, } ) return render(request, 'accounts/profile_edit.html', { 'form' : form }) def post(self, request, *args, **kwargs): form = ProfileForm(request.POST or None) if form.is_valid(): user_data = CustomUser.objects.get(id=request.user.id) user_data.first_name = form.cleaned_data['first_name'] user_data.last_name = form.cleaned_data['last_name'] user_data.description = form.cleaned_data['description'] if request.FILES.get('image'): user_data.image = request.FILES.get('image') user_data.save() return redirect('profile') return render(request, 'accounts/profile.html', { 'form' : form }) class LoginView(views.LoginView): template_name = 'accounts/login.html' class LogoutView(views.LogoutView): template_name = 'accounts/logout.html' def post(self, *args, **kwargs): if self.request.user.is_authenticated: self.logout() return redirect('/')
**acountsアプリ/urls.py** urlpatterns = [ path('profile/', views.ProfileView.as_view(), name='profile'), path('profile/edit/', views.ProfileEditView.as_view(), name='profile_edit'), path('login/', views.LoginView.as_view(), name='account_login'), path('logout/', views.LogoutView.as_view(), name='account_logout'), ]
**pes21アプリ/views.py** class IndexView(TemplateView): template_name = 'pes21/index.html'
試したこと
単純ですが、
・acountsアプリ/views.pyにある、ProfileViewをpes21アプリ/views.pyにコピペし、失敗。
・本件、他にも、エラーコメントでの方法確認や「django CustomUser プロフィール 公開」や「django CustomUser プロフィール 一般公開」など、検索キーワード広げてもヒットしなかった。
補足情報(FW/ツールのバージョンなど)
使用環境 vscode
使用PC mac m1
回答1件
あなたの回答
tips
プレビュー