首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用userinput调用Django模板标签

使用userinput调用Django模板标签
EN

Stack Overflow用户
提问于 2019-03-15 06:58:39
回答 1查看 32关注 0票数 0

我想使用Django自定义模板标记来检查用户id是否在数据库中。到目前为止,我们已经创建了一个自定义模板标记,但我不能让它与表单一起工作。

目标不是刷新整个页面,而只是显示此查询的结果。怎么可能做到这一点呢?

HTML表单:

代码语言:javascript
运行
AI代码解释
复制
<form role="form" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="text">
    <button>Check Me</button>
</form>

{{ test|testid:123 }} <!-- Works, shows True or False -->

过滤器:

代码语言:javascript
运行
AI代码解释
复制
@register.filter
def testid(value, test_id):
    if Test.objects.filter(id=test_id).exists():
        return True
    return False

我试着去查找,但似乎大多数人都是通过实现iQuery来实现的,只是使用表单或类似的东西,我试图避免这种情况,并希望使用模板标记。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 07:12:17

Django只是一个后端系统。它的参与结束于html模板层,即它不提供任何实时的东西。默认情况下,所有交互都涉及到服务器的往返,即页面刷新。这并不意味着您不能在Django项目中进行实时Ajax交互,只是Django不会在这方面对您有所帮助,您也不会在Django文档中找到任何可以帮助您的东西。

在不刷新页面的情况下生成这些结果需要更多的工作。在大多数情况下,我认为人们过分迷恋于实现这一目标。您将需要设置一个接收视图,编写javascript或jquery以发送到接收视图,将数据保存在接收视图中,并编写js以实时更新页面(假设后端保存进行得很好)。一切都有可能,我们都做过了,但一定要考虑一下是否值得。

如果这是一个绝对的需求,请深入研究,因为它将需要相当多的自定义代码和工具。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55177197

复制
相关文章
Django模板标签
==, !=, >=, <=, >, < and, or, not, in, not in这些操作符都可以在模板中使用
星哥玩云
2022/09/14
1.7K0
Django内置模板标签
控制自动转义是否可用。参数是on或off。 该标签会以一个endautoescape作为结束标签. 例如: {% autoescape on %} {{ body }} {% endautoescape %} 2. block block标签可以被子模板覆盖。 3. comment 在{% comment %}和{% endcomment %}之间的内容会被忽略,作为注释。 比如,当要注释掉一些代码时,可以用此来记录代码被注释掉的原因。 例如: <p>Rendered text with {{ pub_date|date:"c" }}</p> {% comment "Optional note" %} <p>Commented out text with {{ create_date|date:"c" }}</p> {% endcomment %} comment标签不能嵌套使用。 4. csrf_token 这个标签用于跨站请求伪造保护。常用于为form表单提供csrf令牌。 5. cycle 每当这个标签被访问,返回它的下一个元素。第一次访问返回第一个元素,第二次访问返回第二个参数,以此类推. 一旦所有的变量都被访问过了,就会回到最开始的地方,重复下去。这个标签在循环中特别有用: {% for o in some_list %} <tr class="{% cycle 'row1' 'row2'%}"> ... </tr> {% endfor %} 第一次迭代产生的HTML引用了row1类,第二次则是row2类,第三次又是row1 类,如此类推。 cycle的本质是根据某个规律,提供某种特性,比如想循环给表格的行添加底色等等。 也可以使用变量, 例如,如果你有两个模版变量:rowvalue1和rowvalue2, 可以让他们的值像这样替换: {% for o in some_list %} <tr class="{% cycle rowvalue1 rowvalue2 %}"> ... </tr> {% endfor %} 被包含在cycle中的变量将会被转义。 可以禁止自动转义: {% for o in some_list %} <tr class="{% autoescape off %}{% cycle rowvalue1 rowvalue2 %}{% endautoescape %}"> ... </tr> {% endfor %} 可以混合使用变量和字符串: {% for o in some_list %} <tr class="{% cycle 'row1' rowvalue2 'row3' %}"> ... </tr> {% endfor %} 在某些情况下,可能需要连续引用一个当前循环的值,而不前进到下一个循环值。要达到这个目的,只需使用as来给{% cycle %}取一个别名,就像这样: {% cycle 'row1' 'row2' as rowcolors %} 从那时起(设置别名后),你可以将别名当作一个模板变量进行引用,从而随意在模板中插入当前循环的值。 如果要将循环值移动到原始cycle标记的下一个值,可以使用另一个cycle标记并指定变量的名称。看下面的例子: <tr> <td class="{% cycle 'row1' 'row2' as rowcolors %}">...</td> <td class="{{ rowcolors }}">...</td> </tr> <tr> <td class="{% cycle rowcolors %}">...</td> <td class="{{ rowcolors }}">...</td> </tr> 将输出: <tr> <td class="row1">...</td> <td class="row1">...</td> </tr> <tr> <td class="row2">...</td> <td class="row2">...</td> </tr> cycle 标签中,通过空格分割,可以使用任意数量的值。被包含在单引号(')或者双引号(")中的值被认为是可迭代字符串,相反,没有被引号包围的值被当作模版变量。 6. debug 输出整个调试信息,包括当前上下文和导入的模块。 7. extends 表示当前模板继承自一个父模板。 这个标签可以有两种用法: {% extends "ba
菲宇
2019/08/14
1.4K0
django-4-模板标签,模板继承
{% if %}{% elif %}{% else %}{% endif %} 判断
py3study
2020/01/16
9290
Django基础篇-模板标签
例如:一个标签可以输出内容,作为控制结构,“if” 语句或 "for" 循环从数据库中提取内容,甚至可以访问其它的模板标签。
小团子
2019/07/18
8530
Django基础篇-模板标签
Django 笔记(四)模板标签 ~ 自
Django模版引擎中最强大也是最复杂的部分就是模版继承了。 模版继承可以让你创建一个基本的“骨架”模版,
py3study
2020/01/19
5340
Django模板标签regroup的妙用
在使用 Django 开发时,有时候我们需要在模板中按对象的某个属性分组显示一系列数据。例如博客文章按照时间归档分组显示文章列表(示例效果请看我的博客的归档页面),或者需要按日期分组显示通知(例如知乎)的通知列表。如果不熟悉 Django 内置的 regroup 模板标签,要完成这个需求可能还得费点功夫,而使用 regroup 则可以轻松完成任务。 regroup 官方文档示例 regroup 可以根据一个类列表对象中元素的某个属性对这些元素进行重新分组。例如有这样一个记录各个国家各个城市信息的列表: ci
追梦人物
2018/04/17
1.1K0
django 模板中使用 widthratio 标签实现 乘法、除法 运算
http://doc.codingdict.com/django/ref/templates/builtins.html#std:templatetag-widthratio(中文)
卓越笔记
2023/02/18
9170
django-模板之comment标签(六)
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{title}}</title> <style> .header { height: 50px; background-color: fuchsia;; } .content{ height:300px;
西西嘛呦
2020/08/26
1.1K0
django-模板之include标签(十五)
就是将一些常用的html代码分离出来,使其可以重复利用,减少代码量 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{title}}</title> <link rel="stylesheet" href={% static 'css/index.css' %}> </head> <body> {% include 'header.html'%} <di
西西嘛呦
2020/08/26
7330
django-模板之URL标签(五)
book/views.py from django.shortcuts import render def index(request): return render(request,"index.html") def news(request): return render(request,"news.html") def sports(request): return render(request,"sports.html") book/urls.py from django
西西嘛呦
2020/08/26
9380
django模板之的html模板中调用对
解决:由于在python3版本上使用pymysql库,没有MySQLdb库,则需要配置;
py3study
2020/01/08
4.5K0
Finecms模板标签调用小结 方便快速入门
  最近接了一个单子客户要求用finecms进行建站,由于也是php代码,也可以直接调用相关函数,所以上手相对比较快,ytkah总结了一些常用的函数方便您快速入门Finecms。一个网站一般由主页、栏目页、文章页组成,常用的函数为首页调用文章、列表页调用文章、站内搜索代码、缩略图调用等,下面就随着ytkah来一起看看如何操作吧 首页调用指定栏目的文章:{list action=module catid=22 num=10},catid=22表示指定栏目为22,num表示调用的条数 {list action
ytkah
2018/03/06
8100
ZBlog PHP主题模板标签调用文档整理
如今有CMS之后建站变得非常简单,我们基本上不需要太精通的脚本语言,只要熟悉简单的HTML语言即可完成模板的制作,目前常用Typecho制作主题调用脚本及技巧中整理到常用的TYPECHO主题制作的时候需要用到的调用脚本,然后也制作了第一个主题。
李洋博客
2021/06/15
1.2K0
ZBlog PHP主题模板标签调用文档整理
Django模板标签regroup方法对对象进行分组
在使用 Django 开发时,有时候我们需要在模板中按对象的某个属性分组显示一系列数据。例如博客文章按照时间归档分组显示文章列表,或者需要按日期分组显示通知(例如知乎)的通知列表。如果不熟悉 Django 内置的 regroup 模板标签,要完成这个需求可能还得费点功夫,而使用 regroup 则可以轻松完成任务。
菲宇
2019/08/14
7760
请描述django模板中标签的作用?_抽奖券模板
if标签相当于Python中的if语句,有elif和else相对应,但是所有的标签都需要用标签符号({%%})进行包裹。if标签中可以使用==、!=、<、<=、>、>=、in、not in、is、is not等判断运算符。示例代码如下:
全栈程序员站长
2022/09/19
7750
python-Django-Django 常用模板标签和过滤器(一)
Django模板引擎是Django框架的一个核心组件,用于渲染HTML模板。它使用Django模板语言(DTL)来编写模板文件,支持动态数据、逻辑控制和模板继承等功能。在Django模板中,除了常规的HTML标记和属性外,还有一些特殊的模板标签和过滤器,用于实现动态数据绑定和逻辑控制。
玖叁叁
2023/04/23
9740
python-Django-Django 常用模板标签和过滤器(二)
在这个示例中,我们使用date过滤器来格式化post.date_created日期,以在HTML页面中显示如“March 25, 2022”
玖叁叁
2023/04/23
5020
Django 模板HTML中 变量 过滤器 标签 的使用方法
一、变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。 2.使用dot(.)能够访问变量的属性 3.当模板引擎碰到dot的时候,查找的顺序是什么样子呢? a.字典查找,例如:foo[“var1”] b.属性查找,例如:foo.bar c.方法查找,例如:foo.bar() d.list-index查找,例如foo[bar]
学到老
2019/01/25
4.1K0
Django-3 模板使用
在之前的文章中我们了解到模板允许我们在多个地方重用代码段,非常适合动态HTML页面。使用模板将更复杂的HTML返回给浏览器。我们还将看到如何将变量作为上下文传递给模板。接下来开始:
XXXX-user
2019/07/23
1K0
Django-3 模板使用
点击加载更多

相似问题

Django模板标签可以像Django模板可调用一样使用吗?

124

从django模板标签调用python函数

30

Django -使用模板标签和'with'?

30

Django模板标签

10

Django模板标签

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档