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

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

Django 模板 - 過(guò)濾內(nèi)容

Django 模板 - 過(guò)濾內(nèi)容

素胚勾勒不出你 2023-09-19 14:07:37
我有兩個(gè)模型 - “產(chǎn)品”和“類別”,每個(gè)產(chǎn)品都可以添加到現(xiàn)有類別中。我正在嘗試找到一種方法來(lái)呈現(xiàn)包含按類別過(guò)濾的產(chǎn)品的頁(yè)面。目前,我通過(guò)在模板中手動(dòng)過(guò)濾每個(gè)類別來(lái)完成此操作:{% for instance in object_list %}    {% if instance.category.categoryname == "Statues" %}        {{ instance.name }}        {{ instance.description }}        {{ instance.price }}    {% endif %}{% endfor %}我對(duì)每個(gè)類別(“繪畫”、“珠寶”等)都有相同的模板,并更改了每個(gè)模板中的條件。URL“../Statues”指向預(yù)先存在的模板有什么辦法可以更輕松地做到這一點(diǎn)嗎?我希望 從 URL 導(dǎo)入條件{% if instance.category.categoryname == "Statues" %} 。因此,當(dāng)您訪問(wèn)“../Jewelry”時(shí),模板將從 URL 導(dǎo)入“Jewelry”并相應(yīng)地過(guò)濾內(nèi)容。models.pyclass Category(models.Model):    categoryname = models.CharField(max_length=20)    description = models.CharField(max_length=200, blank=True, null=True)    #To make in name, not objXXX    def __str__(self):        return self.categorynameclass Product(models.Model):    name = models.CharField(max_length=20)    image = models.ImageField(upload_to='static/photos', default='http://placehold.it/700x400')    description = models.TextField(max_length=200, blank=True, null=True)    price = models.DecimalField(decimal_places=2, max_digits=10)    category = models.ForeignKey(Category, on_delete=models.PROTECT, blank=True, null=True)    #To make in name, not objXXX    def __str__(self):        return self.nameurls.pyurlpatterns = [    path('admin/', admin.site.urls),    path('<str:categoryname>', category_filter)]view.pydef category_filter(request, categoryname):    queryset = Product.objects.all()    context = {"object_list": queryset}    return render(request, "category_filter.html", context)類別選擇模板:{% for instance in category_list %}<a href="{{ instance.categoryname }}" class="list-group-item">{{ instance.categoryname }}</a>{% endfor %}
查看完整描述

1 回答

?
楊__羊羊

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

這可能太簡(jiǎn)單了......您可以在視圖中應(yīng)用過(guò)濾器并基于此發(fā)送查詢集:


def category_filter(request, categoryname):

    category=Category.objects.get(categoryname=categoryname)   

    queryset = Product.objects.filter(category=category)

    context = {"product_list": queryset}

    return render(request, "category_filter.html", context)


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

添加回答

舉報(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)