django 自定義filter 判斷if var in list的例子
1. 需求:
用戶答題練習(xí),當(dāng)用戶獲取所有題目的同時(shí),需要判斷用戶是否已經(jīng)做過(guò)該題目,如果做過(guò),需要render的時(shí)候添加一個(gè)“回顧”按鈕。
2. 實(shí)現(xiàn)
a. 查詢用戶做過(guò)題目的id
finished_objs=UserSpeaking.objects.filter(user=request.user) finished_ids=[ obj.id for obj in finished_objs]
b. 創(chuàng)建filters.py
from django import template register = template.Library() def include_filter(value,values): return True if value in values else False register.filter('include', include_filter)
c. 在模板中引用
{% load filters %} ... {% if test.id|include:finished_ids %} <a href="{% url 'practice_history' test.id %}" rel="external nofollow" class="go_to_btn lf">去回顧</a> {% endif %}
以上這篇django 自定義filter 判斷if var in list的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Numpy實(shí)現(xiàn)按指定維度拼接兩個(gè)數(shù)組的實(shí)現(xiàn)示例
Numpy提供了多個(gè)函數(shù)來(lái)拼接數(shù)組,其中最常用的是np.concatenate、np.vstack、np.hstack等,本文就來(lái)介紹一下Numpy實(shí)現(xiàn)按指定維度拼接兩個(gè)數(shù)組的實(shí)現(xiàn),感興趣的可以了解一下2024-03-03python網(wǎng)絡(luò)爬蟲之協(xié)程的實(shí)現(xiàn)方法
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲之協(xié)程的實(shí)現(xiàn)方法,協(xié)程Coroutine又稱微線程,是一種用戶態(tài)內(nèi)的上下文切換技術(shù),簡(jiǎn)而言之,就是通過(guò)一個(gè)線程實(shí)現(xiàn)代碼塊相互切換執(zhí)行,需要的朋友可以參考下2023-08-08pytorch保存和加載模型的方法及如何load部分參數(shù)
本文總結(jié)了pytorch中保存和加載模型的方法,以及在保存的模型文件與新定義的模型的參數(shù)不一一對(duì)應(yīng)時(shí),我們?cè)撊绾渭虞d模型參數(shù),對(duì)pytorch保存和加載模型相關(guān)知識(shí)感興趣的朋友一起看看吧2024-03-03跟老齊學(xué)Python之永遠(yuǎn)強(qiáng)大的函數(shù)
Python程序中的語(yǔ)句都會(huì)組織成函數(shù)的形式。通俗地說(shuō),函數(shù)就是完成特定功能的一個(gè)語(yǔ)句組,這組語(yǔ)句可以作為一個(gè)單位使用,并且給它取一個(gè)名字,這樣,我們就可以通過(guò)函數(shù)名在程序的不同地方多次執(zhí)行(這通常叫做函數(shù)調(diào)用),卻不需要在所有地方都重復(fù)編寫這些語(yǔ)句。2014-09-09