【问题标题】:How to create user status active deactivate toggle button in Django?如何在 Django 中创建用户状态活动停用切换按钮?
【发布时间】:2021-04-21 23:41:19
【问题描述】:

我希望在我的 Django 中有这样的东西。 enter image description here 谁能告诉我应该如何在 html 模板和 views.py 中编码?

【问题讨论】:

    标签: django


    【解决方案1】:

    如果你想在点击时改变布尔字段值的状态,你需要使用Jquery。

    我创建了一个名为 toggle 的应用,因此您需要将其替换为您的应用名称,并将 is_working 替换为您的状态按钮。

    这是完整的代码

    urls.py::

    from django.urls import path
    from toggle.views import home, toggle
    
    urlpatterns = [
        path('', home),
        path('toggle/', toggle),
    ]
    

    views.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')
    

    home.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>
    

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

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

    参考最初回答的问题: Originally answered link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 2023-03-20
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多