首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何检查列表中的某个帖子是否被当前用户投票

在 Django 项目中,如果需要检查一个列表中的某个帖子是否被当前用户投票(比如点赞或踩),可以通过数据库查询实现。...以下是具体的实现方法,假设你使用的是 Django 并有如下的数据库模型结构:问题背景我正在创建一个reddit克隆,其中存在一个问题,我正在寻找一种方法来指示当前用户是否对某个特定问题进行过投票,而不会产生过多数据库请求...{% endrecursetree %} {% endblock content %}解决方案对于这种问题,通常有两种解决方案:1、通过模型方法首先,我们需要在模型中添加两个方法,用来检查用户是否对某个节点进行过投票...downvoted_by(self, user): return self.down_votes.filter(user=user).exists()然后,在视图中,我们可以使用这些方法来检查用户是否对某个帖子进行过投票...down="{%if node.pk in downvoted_comments %}{% endif %}"​ ...​通过上述方法,可以高效地检查列表中每个帖子是否被当前用户投票

4400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript基础

    hasOwnProperty():这个方法可以用来检查对象自身中是否含有某个属性 // prototype function Person() { }...value:正在遍历的元素 index:正在遍历元素的索引 obj:被遍历对象 数组.forEach(function(value , index , obj){ }); for(var i=...= clientHeight 判断滚动条是否滚动到底垂直滚动条 元素的属性 读取元素的属性: 语法:元素.属性名 ele.name ele.id ele.value ele.className...}; 元素.事件 = function(e){ e = e || event; }; clientX和clientY用于获取鼠标在当前的可见窗口的坐标div的偏移量,是相对于整个页面的...Screen 代表用户的屏幕的信息,通过该对象可以获取到用户的显示器的相关的信息 这些BOM对象在浏览器中都是作为window对象的属性保存的,可以通过window对象来使用,也可以直接使用

    2K20

    如何使用 CSS 设置和自定义水平和垂直滚动条

    滚动条是图形用户界面(UI)中必不可少的组件。滚动条允许用户查看超出其容器宽度或高度的内容。滚动条还使用户能够查看超出屏幕宽度或高度的内容。默认情况下,浏览器会为body内容的溢出包含一个滚动条。...在本节中,我们将按照以下步骤创建一个可滚动的侧边栏导航:a)创建带有导航项目的导航栏b)将导航栏样式设置为侧边栏c)将侧边栏位置设置为固定d)使用滚动条管理项目的溢出a)....将属性的值设置为scroll会指示浏览器始终向容器添加滚动条。无论目标容器是否有超出其边界的内容,容器始终会有一个滚动条。...">6div> div class="box">7div> div>页面在屏幕左下角有一个默认的水平滚动条,但您不希望网站的用户使用它。...这意味着它们将适用于整个网站的所有滚动条。我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

    1.9K00

    造一个 react-infinite-scroller 轮子

    private loadingMore = false // 是否正在加载更多 private pageLoaded = 0 // 当前加载页数 constructor(props: Props...同时,上面还对 resize 事件绑定了监听器,因为当用户 resize 的时候也会出现 offset 的可能,这个时候也需要 loadMore。...这里的两个监听器都可以设置 passive: true 来提高滚动性能,不过我们第一步是要检测当前浏览器是否支持被动监听器。...testOptions 利用 ES6 Proxy 的特性判断当前浏览器是否会读取 passive 属性,读取了说明支持 passive listener,返回 true。...还有一点,在添加 listener 的时候可以触发一次 listener 作为 initialLoad 向上滚动的时候,在 componentDidUpdate 里要把滚动条设置为上一次停留的地方,否则滚动条会一直在顶部

    2.6K30

    通过 JS 判断页面是否有滚动条的简单方法

    前言 最近在写插件的过程中,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁。最终通过参考不同方法,写了一个比较简单的方法。...为了增强用户体验,通过判断是否有滚动条而添加 margin-left 属性以抵消 overflow: hidden 之后的滚动条位置。...判断是否有滚动条的方法 其实只需要一行 JS 就可以,测试兼容 IE7 function hasScrollbar() { return document.body.scrollHeight >...计算滚动条宽度的方法 还是以弹窗为例,因为 IE 10 以上以及移动端浏览器的滚动条都是不占据页面宽度的透明样式(其中 IE 10 以上浏览器可以通过 CSS 属性还原原始的滚动条样式),所以为了进一步增强用户体验...计算滚动条宽度的方法比较简单,新建一个带有滚动条的 div 元素,通过该元素的 offsetWidth 和 clientWidth 的差值即可获得,我在此借鉴 Magnific-popup 中的方法 function

    8.4K90

    jQuery 自定义网页滚动条样式插件 mCustomScrollbar 的介绍和使用方法

    例: width:100px;height:100px;overflow:auto; 完成上述的操作之后,带有滚动条的内容块的滚动条,就变成这个插件的默认样式了。...set_width:false:设置你内容的宽度 值可以是像素或者百分比 set_height:false:设置你内容的高度 值可以是像素或者百分比 horizontalScroll:Boolean:是否创建一个水平滚动条...:根据内容区域自动调整滚动条拖块的长度 值:true,false scrollButtons:{ enable:Boolean }:是否添加 滚动条两端按钮支持 值:true,false scrollButtons...值:true,false 设置成 true 将会不断的检查内容的长度并且据此改变滚动条大小 建议除非必要不要设置成 true 如果页面中有很多滚动条的时候 它有可能会产生额外的移出 你可以使用 update...像素单位 callbacks:{ whileScrolling:function(){} }:当用户正在滚动的时候执行这个自定义回调函数 callbacks:{ whileScrollingInterval

    14.2K30

    JS事件篇

    (子节点):删除子节点 使用innerHTML也可以完成DOM的增删改操作 阻止a标签默认行为的常用三种方式 a标签的索引问题 JS修改元素的样式 读取元素的内联样式 获取当前元素显示的样式---只读...替代 取消滚动条随滚轮移动的默认行为 键盘事件 浏览器对象模型---navigator 通过 属性名 in 对象 可以判断对应的属性在当前对象中是否存在 浏览器对象模型---History 浏览器对象模型...important; } ---- 读取元素的内联样式 样式表即css设置的样式 ---- 获取当前元素显示的样式—只读 ---- getComputedStyle...中会存储不同的浏览器信息,每个浏览器基本都有自己的唯一标记,可以通过正则表达式判断 通过 属性名 in 对象 可以判断对应的属性在当前对象中是否存在 ---- 浏览器对象模型—History...也可以用来获取或者设置当前页面的URL ---- ---- 浏览器对象模型—Window常用的三个弹出框 prompt("")函数用于弹出提示用户进行输入信息的文本框,其返回用户输入的字符串,里面输入的字符串是弹出框的标题

    12.6K10

    滚动,你真的懂了吗

    ios 页面顶部带有fixed输入框(解决软键盘弹出导致页面错位的问题) 例如,手Q吃喝玩乐的站点首页, 在ios机上便是内滚动布局 ? 桌面软件或者客户端,如群活动 ?...(); //当前scrollTarget纵向滚动的垂直位置 var currenX = $scrollTarget.scrollLeft(); //当前scrollTarget横向滚动条的位置 $scrollTarget.scrollTop...#div").offset().left; //节点的宽高 $("#div").height(); $("#div").width(); //节点的滚动条偏移值 $("#div").scrollTop(...为了使目标节点,移动到内滚动区域的中间线 我们最终需要知道当前目标节点距离中间线的偏移值,然后加上当前滚动区域的滚动条偏移值,便是我们需要滚动条滚动到的偏移值大小了。...即最终偏移值 = 当前目标节点距离中间线的偏移值 + 当前滚动区域的滚动条偏移值; 可知,当前滚动区域的滚动条偏移值即等于 $("#scrollDom").scrollTop(); 那么distance

    1.6K70

    滚动,你真的懂了吗

    ios 页面顶部带有fixed输入框(解决软键盘弹出导致页面错位的问题) 例如,手Q吃喝玩乐的站点首页, 在ios机上便是内滚动布局 ? 桌面软件或者客户端,如群活动 ?...(); //当前scrollTarget纵向滚动的垂直位置 var currenX = $scrollTarget.scrollLeft(); //当前scrollTarget横向滚动条的位置 $scrollTarget.scrollTop...#div").offset().left; //节点的宽高 $("#div").height(); $("#div").width(); //节点的滚动条偏移值 $("#div").scrollTop(...为了使目标节点,移动到内滚动区域的中间线 我们最终需要知道当前目标节点距离中间线的偏移值,然后加上当前滚动区域的滚动条偏移值,便是我们需要滚动条滚动到的偏移值大小了。...即最终偏移值 = 当前目标节点距离中间线的偏移值 + 当前滚动区域的滚动条偏移值; 可知,当前滚动区域的滚动条偏移值即等于 $("#scrollDom").scrollTop(); 那么distance

    1.1K10

    【实例】调整区域大小&动态隐藏区域

    = leftDom.offsetWidth // 当前点击位置 + 滚动条 // offsetL .left元素距离浏览器左侧边缘的距离...,降低了难度; width: 5px;增大拖拽区域,便于用户操作,提高良好的交互性; ?...设置或获取鼠标指针位置相对于触发事件的对象的X、Y坐标 2 pageX、pageY (只读)相对于整个文档的X、Y坐标以像素为单位的只读属性(包括滚动条) 74+106+3+300-5+2=480 screenX...、screenY 设置或获取获取鼠标指针位置相对于用户屏幕的X、Y坐标 1440+clientX=1846 x、y clientX、clientY的别名 与clientX相等 Element Element...、宽度 0 scrollHeight、scrollWidth (只读,整数)包括由于溢出导致的视图中不可见内容 300 scrollLeft、scrollTop 读取或设置元素滚动条到元素左边、顶部的距离

    1.7K21

    vuejs中使用axios时如何实现滑动滚动条来动态加载列表数据

    ,距离顶部的距离,获取变量scrollHeight是滚动条的总高度,获取变量clientHeight是滚动条可视区域的高度 当滚动条到达底部,并且距离底部小于10px时,加载数据,也就是请求axios数据...,页码++,重新加载数据函数 为了防止用户频繁触发下拉滑动滚动条,往往需要添加一个函数防抖,在指定的时间内,只执行最后一次事件处理函数,避免频繁请求数据,给服务器造成压力 代码实现 ...,到最后一页 每次在请求完成数据的时候去判断一下当前的 page × pagesize 是否已经大于等于接口返回的 total 值就行了,也可以是pageNum 等于 total 的时候,就说明已经没有数据了...,可以提示用户了。...还要判断是否最后一页,还要判断是否还有数据,还要判断是否需要提示用户没有更多数据了,所以代码量还是挺多的,但是写完之后,感觉还是挺有成就感的。

    50250

    移动端轮播图笔记

    触屏事件可以相应用户手指对屏幕或者触控板操作 常见的触屏事件: 1.touchstart:手指触摸到一个DOM元素时触发 2.touchmove:手指在一个DOM元素上滑动时触发 3.touchend:...1.touches:正在触摸屏幕的所有手指的一个列表 2.targetTouches:正在触摸当前DOM元素上的手指的一个列表(最常使用) 3.changeTouches:手指状态发生了改变的列表,从无到有...,从有到无变化 1.3移动端拖动元素 1.touchstart、touchmove、touchend可以实现拖动元素 2.但是拖动元素需要当前手指的坐标值,我们可以使用targetTouches[0]里面的...1.不允许网页出现横向滚动条 2.页面盛满屏幕,盒子宽度与屏幕一致 100% 3.让盒子的内容宽高width/height包含padding...让当前索引号的小li加上current 类名 ol.children[index].classList.add('current'); }); //4.手指滑动轮播图

    2.5K21

    虚拟滚动之原理及其封装

    (实际上是把锅丢到了后面)•无法实现动态反映选中状态•滚动条无法正确反映操作者当前浏览的信息在全部列表中的位置。而且我百万级数据加载,你一次给我加载十几条,滚到底太慢了,是想愚弄用户吗!...当用户改变列表的滚动条的当前滚动值的时候,会造成可见区域的内容的变更。•可见区域:比如列表的高度是 300,右侧有纵向滚动条可以滚动,那么视觉可见的区域就是可见区域。...相比较于懒渲染,虚拟滚动要求一次性全部拿到数据,但是滚动条能够完全正确地反映当前页面在全部数据的位置。滚动无非是对几十个dom进行操作,可以达到极高的后续渲染性能。...实现 实现虚拟滚动就是处理滚动条滚动后的可见区域的变更,其中具体步骤如下: 1.计算当前可见区域起始数据的 startIndex2.计算当前可见区域结束数据的 endIndex3.计算当前可见区域的数据...4.3 绑定滚动 计算渲染边界,确定是否渲染。

    10K20

    2019-08-09 满屏切换vue项目中使用 vue-fullpage.js

    , // //页面滚动速度 // scrollingSpeed: 700, // //定义锚链接,用户可以快速打开定位到某一页面;不需要加"#",不要和页面中任意的id和name相同..., // //是否包含滚动条,设为true,则浏览器自带的滚动条会出现,页面还是按页滚动,但是浏览器滚动条默认行为也有效 // scrollBar: true, // //设置每个section...","第二页","第三页"], // //是否显示当前页面小圆点导航的提示信息,不需要鼠标移上 // showActiveTooltip: true, // //是否显示横向幻灯片的导航...,设为false后,会出现浏览器自带的滚动条,将不会按页滚动 // autoScrolling: false, // //是否包含滚动条,设为true,则浏览器自带的滚动条会出现,页面还是按页滚动...","第二页","第三页"], // //是否显示当前页面小圆点导航的提示信息,不需要鼠标移上 // showActiveTooltip: true, // //是否显示横向幻灯片的导航

    11.9K30

    JS中height、clientHeight、scrollHeight、offsetHeight区别

    undenifine,而必须写成document.body.style.height 上面的脚本将依次弹出700px,550px,600px,500px,1000px.height是最简单的了,不必去考虑是否有滚动条及边框等...clientHeight:可见区域的宽度,不包括boder的宽度,如果区域内带有滚动条,还应该减去横向滚动条不可用的高度,正常的是17px,其实就是滚动条的可滚动的部分了,其实clientHeight与...height的高度差不多,如果不带滚动条的话他们的值都是一样的,如果带有滚动条的话就会比height值少17px;火狐与IE下均为一致....clientHeight:可见区域的宽度,不包括boder的宽度,如果区域内带有滚动条,还应该减去横向滚动条不可用的高度,正常的是17px,其实就是滚动条的可滚动的部分了,其实clientHeight与...height的高度差不多,如果不带滚动条的话他们的值都是一样的,如果带有滚动条的话就会比height值少17px;火狐与IE下均为一致.

    1.2K20
    领券