現在 Djangoで投稿サイトを作っているのですが、自分の投稿だけをマイプロフィールに表示させようとしているのですが、表示されずアドバイスを頂きに質問させていただきました。
プロフィールのユーザーネームと、投稿した際のユーザーネームが一緒の投稿を表示させようとしているのですが、全てfailedになってしまいます。(確実に同じユーザーで投稿したもはあります。)
確認したこと
→個別でuser.user_name
とmy_post.post_user
を表示させましたが同じ値でした。
html
1{{ user.user_name }} 2<ul class="list-group"> 3 {% for my_post in my_post %} 4 {% if my_post.post_user == user.user_name %} 5 <li class="list-group-post"> 6 {{ my_post.title }} 7 {{ my_post.post_user }} 8 </li> 9 {% else %} 10 <li class="list-group-post"> 11 failed 12 </li> 13 {% endif %} 14 {% empty %} 15 <li class="list-group-post"> 16 No Data 17 </li> 18 {% endfor %} 19</ul>
python
1#Views.py 2class UserDetail(generic.DetailView): 3 """ユーザーの詳細ページ""" 4 model = User 5 slug_field = 'user_name' 6 slug_url_kwarg = 'user_name' 7 def get(self, request, *args, **kwargs): 8 context = {} 9 context['my_post'] = Post.objects.all() 10 return render(request, './my_page.html', context)
python
1#models.py 2class User(AbstractBaseUser, PermissionsMixin): 3 email = models.EmailField(_('email address'), null=True) 4 user_name = models.CharField(_('username'), max_length=30,unique=True) 5 6class Post(models.Model): 7 post_user = models.ForeignKey(User, on_delete=models.PROTECT) 8 title = models.CharField(verbose_name='タイトル',max_length=200,) 9 content = models.TextField(verbose_name="本文")
何かアドバイスいただけたらと思います。
必要な情報があれば追加します、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/02 11:52
2020/05/02 12:04
2020/05/02 12:12
2020/05/02 12:21
2020/05/02 12:24