如何将切换开关与 django 布尔字段一起使用?

2023-12-07

我有一个 work_experience 模型,其中包含“is_working”字段,当用户仍在公司工作时,该字段是正确的。 在前端,我使用切换开关,我想在单击时更改布尔字段值“is_working”。 在django中使用toggle的逻辑应该是什么?

拨动开关

HTML

<div style="display:inline-block">
    <label>Currently working here?</label>
    <label class="switch">
        <input type="checkbox">
        <span class="slider round"></span>
    </label>
</div>

Model

class Work_Experience(models.Model):
    job_title       = models.CharField(max_length=100, null=True, blank=True)
    company         = models.CharField(max_length=100, null=True, blank=True)
    description     = models.CharField(max_length=300, null=True, blank=True)
    exp_start_date  = models.DateField(null=True, blank=True)
    exp_end_date    = models.DateField(null=True, blank=True)
    is_working      = models.BooleanField(default=False)

给予是一个坏主意null=True参数为CharField.

如果你想改变布尔字段值is_working单击时,您需要使用Jquery.

我创建了一个名为toggle,因此您需要将其替换为您的应用程序的名称。

这是完整的代码

urls.py::

from django.urls import path
from toggle.views import home, toggle

urlpatterns = [
    path('', home),
    path('toggle/', toggle),
]

视图.py:

from django.shortcuts import render
def home(request):
    w, created = Work_Experience.objects.get_or_create(id=1)
    return render(request,'home.html', {'workexperiance': w})

from django.http import HttpResponse
from toggle.models import Work_Experience
def toggle(request):
    w = Work_Experience.objects.get(id=request.POST['id'])
    w.is_working = request.POST['isworking'] == 'true'
    w.save()
    return HttpResponse('success')

主页.html:

<div style="display:inline-block">
    <label>Currently working here?</label>
    <label class="switch">
        <input type="checkbox" id="checkbox" value="{{workexperiance.is_working}}">
        <span class="slider round"></span>
    </label>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script> <!-- Import Jquery Here-->
<script type="text/javascript">
$(document).ready(function() {
    $('#checkbox').change(function() {
        $.post("/toggle/", {
            id: '{{workexperiance.id}}', 
            isworking: this.checked, 
            csrfmiddlewaretoken: '{{ csrf_token }}' 
        });
    });
}); 
</script>

run: ./manage.py runserver并访问:http://localhost:8000

当您单击目前在这里工作?复选框,将立即 更改布尔字段值“is_working”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将切换开关与 django 布尔字段一起使用? 的相关文章

随机推荐

  • 如何将javascript对象从一个页面传递到另一页面

    我想将 javascript 对象从一个页面传递到另一页面 以便任何人都可以告诉我该怎么做 使用 jQuery 可以做到这一点吗 Few ways 服务器端回发 在您的页面上有一个 POST 表单 并将序列化对象保存在隐藏输入中 然后将其发
  • 有人有使用 Javascript 老派 winamp 嵌入播放器的经验吗?

    我想在我的网站上的页面加载时加载自定义 wsz 皮肤 我仍然不明白如何做到这一点才能使其发挥作用 这是我的代码片段 https codepen io cat999 pen rNOOjJP js const webamp new Webamp
  • BeautifulSoup 部分div类匹配

    我需要通过抓取从 Github 获取里程碑信息 里程碑信息嵌入在 2 种类型的 div 类中 table list item milestone notdue and table list item milestone 如何检索两个类中包含
  • 如果其他测试失败,我可以跳过 Junit 测试吗?

    我在用着Junit运行测试硒网络驱动程序 我试图将我的测试分成功能区域 以便更好地报告错误 我创建了测试来测试页面加载 将文档移动到其他工作流程 如果页面加载测试失败 或者工作流程移动失败 我想跳过后续页面 工作流程测试 如果测试 A 失败
  • Xamarin Forms Shell:Flyout 与 TabBar

    读完后我很困惑sentence TabBar 禁用 Flyout 在 Xamarin 文档中 但即使是示例代码也以 Flyout 布局显示 TabBar 我想 我误解了 Flyout 和 TabBar 我的想法如附件所示 任何人都可以想象其
  • java 是否支持 Foo 类,如果不支持,为什么?

    java支持吗class Foo
  • 如何在iPhone sdk中获取当前日期的下一个和更早的日期

    我有一个日期对象 NSDate 日期 NSDate 日期 现在我想要一个早于这个日期和下一个日期的日期 我应该使用什么功能 更早和更晚意味着前一天和后一天 我也尝试使用 EarlyDate 但可能是我使用错误 因为它返回相同的日期 tnx
  • 如何在xaml中使用List

    所以我很确定在定义部分我需要包含以下内容 xmlns s clr namespace System Collections Generic assembly 但我只是不知道用什么来代替 我想用代码做的是这样的
  • 为什么“@input”装饰器比“inputs:[]”更受青睐

    有两种方法可以定义组件的输入 Component inputs displayEntriesCount export class MyTable implements OnInit displayEntriesCount number an
  • Linux 上 JavaFX 无法解释的内存泄漏

    我的 Java 程序仅在 Linux 上运行时发生内存泄漏 症状 VisualVM 显示堆大小约为 300Mb 顶部 并且没有可疑活动 在 Mac OS X 上 程序使用 900Mb 内存无限期运行 通过活动监视器 在 Linux 上 当操
  • 更有效地初始化数组保存结构

    我有以下代码 const N usize 10000 const S usize 7000 derive Copy Clone Debug struct T a f64 b f64 f f64 fn main let mut t T N T
  • Java中如何获取当前服务器时间?

    如何在Java中获取当前服务器的时间 我试过System currentTimeMills 但它返回的是客户端时间而不是服务器时间 我想获得 服务器 的时间 以毫秒为单位 我在网上搜索过 但没有得到 所有代码返回值来自1970 我想要的是例
  • 如何通过 vanilla js 更新范围输入滑块的位置?

    我正在尝试以编程方式更新输入滑块的位置 type range 但是 我设置的值不会更新滑块的位置 我也尝试过使用 element dispatchEvent new Event input 强制输入更改 该事件确实会触发 但是滑块不会在视觉
  • TensorFlow 操作的共享名称

    许多 TensorFlow 操作都有shared name作为可选参数 例如make initializable iterator 相关问题 大多数 全部 TF 资源 变量 TensorArray ConditionalAccumulato
  • 错误:预期的不合格 ID 错误:含义和修复? [复制]

    这个问题在这里已经有答案了 我刚刚学习 C 刚从 python3 和 QBASIC 出来 并且很难阅读编译器错误并理解它们 这使得调试变得困难 我遇到的问题是我不断拉出编译错误 错误 预期的不合格 ID 这发生在第 10 行和第 18 行
  • 如何将对象值转换为类型值?

    我有这样的类型 public class TypeValue public Type Type get private set public object Value get private set 所以我可以做类似的事情 TypeValu
  • 如何在 > 4 GiB 的地址范围内进行 malloc

    我正在尝试在 X86 64 Linux 上做一些测试 我想知道如何 让 malloc 在高于 4 GiB 的范围内分配返回地址 我是否必须使用单独 自定义库覆盖 malloc 或者还有其他简单的方法可以做到这一点吗 Thanks 编辑 我感
  • jQuery Draggable - 如果它对一个元素应用两次会发生什么?

    直到最近我才进行了这样的设置 它被多次调用 rsh draggable destroy draggable blah blah details The destroy是为了阻止多个可拖动处理程序在类上累积 AJAX 正在创建新元素 并且初始
  • NSScrollView 调整大小时向下滚动?

    我有一个 NSScrollView 里面有一个自定义视图 当我调整 NSScrollView 的大小时 高度会增加并且向上滚动 除非有更简单的方法 否则我可能必须注册一个通知以查看视图大小是否发生变化 然后将scrollPoint 调整到新
  • 如何将切换开关与 django 布尔字段一起使用?

    我有一个 work experience 模型 其中包含 is working 字段 当用户仍在公司工作时 该字段是正确的 在前端 我使用切换开关 我想在单击时更改布尔字段值 is working 在django中使用toggle的逻辑应该