第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將項(xiàng)目上下文包含到 Post 模型中以激活 Django 中的 if 語句

將項(xiàng)目上下文包含到 Post 模型中以激活 Django 中的 if 語句

翻翻過去那場雪 2023-04-11 15:41:33
我正在嘗試將一個(gè)項(xiàng)目添加到列表視圖,UserPost 列表視圖已經(jīng)有一個(gè) Post 上下文。在我的項(xiàng)目中,用戶可以添加帖子和添加項(xiàng)目,每個(gè)都是具有不同模型的不同應(yīng)用程序。因此,在我的 UserPost 列表視圖中,我的帖子循環(huán)與與之相關(guān)的特定用戶相關(guān)。我想做的是檢查這個(gè) post.user 是否有一個(gè)由同一用戶過濾的項(xiàng)目,如果它確實(shí)存在,一個(gè)按鈕顯示出現(xiàn)在鏈接到另一個(gè)頁面的頁面中,該頁面包含與該用戶相關(guān)的項(xiàng)目列表。為了更具描述性,我想檢查Item并designer__post鏈接到此頁面{% url 'core:designer-posts' item.designer %}如果需要更多說明或代碼,我希望這能解決我的問題,請讓我知道添加它。我嘗試使用 Exists 子查詢 [Django-doc] 但我沒有成功完善它這是模型.pyclass Post(models.Model):    designer = models.ForeignKey(User, on_delete=models.CASCADE)    title = models.CharField(max_length=100)這是views.pyclass UserPostListView(ListView):    model = Post    template_name = "user_posts.html"    context_object_name = 'posts'    queryset = Post.objects.filter(admin_approved=True)    paginate_by = 6    def get_queryset(self):        user = get_object_or_404(User, username=self.kwargs.get('username'))        return Post.objects.filter(designer=user, admin_approved=True).order_by('-date_posted')這是模板 user_posts.html{% if item %} <a class="primary btn-lg" href="{% url 'core:designer-posts' item.designer %}" role="button">Go to items</a>{% else %}  <a href="{% url 'core:designer-posts' item.designer %}">    <button type="button" class="btn btn-primary btn-lg btn-block">Go to items</button>  </a>   {% endif %}這是項(xiàng)目 models.pyclass Item(models.Model):    designer = models.ForeignKey(        User, on_delete=models.CASCADE)    title = models.CharField(max_length=100)這是我試圖從用戶帖子視圖鏈接到的 designerlist views.py(如果可用)class DesignerPostListView(ListView):    model = Item    template_name = "designer_posts.html"    context_object_name = 'items'    paginate_by = 6    def get_queryset(self):        user = get_object_or_404(User, username=self.kwargs.get('username'))        return Item.objects.filter(designer=user).order_by('-timestamp')以下是與帖子模型相關(guān)的視圖app_name = 'score'urlpatterns = [    path('', PostListView.as_view(), name='score'),    path('user/<str:username>', UserPostListView.as_view(), name='user-posts'),]
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

首先,您需要通過覆蓋get_context_data(...)方法來傳遞一個(gè)上下文變量,它決定用戶Items是否有


class UserPostListView(ListView):

    # rest of your code

    def get_context_data(self, *args, **kwargs):

        context = super().get_context_data(*args, **kwargs)

        has_items = Item.objects.filter(designer__username=self.kwargs['username']).exists()

        context['has_items'] = has_items

        return context

然后在你的模板中,使用這個(gè)has_items變量,


{% if has_items %}

    <a class="primary btn-lg" href="{% url 'core:designer-posts' username=view.kwargs.username %}" role="button">Go to items</a>

{% endif %}

另外,您沒有將 傳遞username給url標(biāo)簽,應(yīng)該是


{% url 'core:designer-posts' username=view.kwargs.username %}

在這里,我曾經(jīng)從 URL 中view.kwargs.username獲取用戶名


查看完整回答
反對 回復(fù) 2023-04-11
?
BIG陽

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

在 {% url %} item.designer 中傳遞一個(gè)用戶對象,你必須像這樣提供 id

 <a href="{% url 'core:designer-posts' item.designer.id %}">


查看完整回答
反對 回復(fù) 2023-04-11
  • 2 回答
  • 0 關(guān)注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號