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

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

如何將函數(shù)隱藏到listview?

如何將函數(shù)隱藏到listview?

波斯汪 2023-05-16 09:43:20
這是我的代碼,我使用 django v3 并希望將 views.py 中的類別函數(shù)轉(zhuǎn)換為列表類(ListView)以用于分頁(yè)。怎么辦?萬(wàn)分感謝urls.pyfrom django.urls import path from .views import  posts_category        urlpatterns = [        path('<slug:slug>/', posts_category, name="posts_category"),        ]model.pyclass Category(models.Model):    parent = models.ForeignKey('self', blank=True, null=True, related_name='children', on_delete=models.CASCADE)    title = models.CharField(max_length=70, unique=True)    slug = models.SlugField(max_length=90, unique=True)    description = RichTextUploadingField(blank=True, null=True)    image = models.ImageField(blank=True, upload_to="imgs")    def __str__(self):        return self.title    class MPTTMeta:        order_insertion_by = ['title']views.pydef posts_category(request, slug):    category = Category.objects.all()    post = Posts.objects.filter(category__slug=slug, status="p")    context = {        'category': category,        'post': post,    }    return render(request, 'posts_category.html', context)
查看完整描述

1 回答

?
至尊寶的傳說

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

我不知道在同一頁(yè)面中顯示類別和產(chǎn)品是否是個(gè)好主意(從性能的角度來看),但您可以使用以下代碼將 FBV 轉(zhuǎn)換為 CBV:


from django.views.generic import ListView



class PostCategoryView(ListView):

    template_name = 'posts_category.html'

    

    def get_queryset(self):

        slug = self.kwargs.get('slug')

        return Posts.objects.filter(category__slug=slug, status="p")


    def get_context_data(self, **kwargs):

        context = super().get_context_data()

        context['categories'] = Category.objects.all()

        return context

并將您的更改urls為:


from django.urls import path 

from .views import  PostCategoryView

    

    urlpatterns = [

        path('<slug:slug>/', PostCategoryView.as_view(), name="posts_category"),

    

    ]

最后,您可以像下面的代碼一樣在模板中使用上下文數(shù)據(jù):


{% for obj in object_list %}

    {{ obj.id }} - {{ obj.name }}</a><br>

    {% endfor %}

請(qǐng)注意,這object_list是您的 Post 對(duì)象的列表,您應(yīng)該更改obj.name為 Post 模型的其他字段。最后,您可以使用類似的東西object_list(這里我們使用categories)并循環(huán)遍歷它以顯示您的類別或其他內(nèi)容的數(shù)據(jù)。


查看完整回答
反對(duì) 回復(fù) 2023-05-16
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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