Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中实现复选框_Django - Fatal编程技术网

如何在django中实现复选框

如何在django中实现复选框,django,Django,我有一个基于PC的gui应用程序,我正在尝试使用django在基于浏览器的解决方案中复制相同的功能。在PC上,我有一个复选框,可以为用户启用额外的功能。我所需要做的就是在选中该框时返回值(True或False),这将改变视图模块中的逻辑 我已将该复选框实现为: <form method='post'> <input type="checkbox" name="use_stages" value="use_stages">Use stages </form&g

我有一个基于PC的gui应用程序,我正在尝试使用django在基于浏览器的解决方案中复制相同的功能。在PC上,我有一个复选框,可以为用户启用额外的功能。我所需要做的就是在选中该框时返回值(True或False),这将改变视图模块中的逻辑

我已将该复选框实现为:

<form method='post'>
    <input type="checkbox" name="use_stages" value="use_stages">Use stages
</form>
解决方案

下面是我的模板中的代码,以进一步说明sandeep的回答:

from django.shortcuts import render

def home(request):
    """Home page."""
    context = {}
    url = 'boards/home.html'
    return render(request, url, context)
<form method='post'>
    {% csrf_token %}
    <input type="checkbox" name="use_stages" {% if use_stages %} checked="checked"{% endif %} value= "1">Use stages
    <input type="submit" value="submit">
</form>
<form method='post'>
    <input type="checkbox" name="use_stages" value="1">Use stages
     <input type="submit" value="submit">
</form>

{%csrf_令牌%}
使用阶段
这是我们的看法:

def my_url(request):
    context = <get context dict from somewhere>
    if request.method == 'POST':
        use_stages = request.POST.get('use_stages', 0)
        context['use_stages'] = use_stages == '1'
    url = 'boards/main_screen.html'
return render(request, url, context)
def my_url(请求):
上下文=
如果request.method==“POST”:
use\u stages=request.POST.get('use\u stages',0)
上下文['use_stages']=use_stages=='1'
url='boards/main_screen.html'
返回呈现(请求、url、上下文)
您可以这样做

在模板中:

from django.shortcuts import render

def home(request):
    """Home page."""
    context = {}
    url = 'boards/home.html'
    return render(request, url, context)
<form method='post'>
    {% csrf_token %}
    <input type="checkbox" name="use_stages" {% if use_stages %} checked="checked"{% endif %} value= "1">Use stages
    <input type="submit" value="submit">
</form>
<form method='post'>
    <input type="checkbox" name="use_stages" value="1">Use stages
     <input type="submit" value="submit">
</form>

如果复选框为check,则check的值将为1,否则为0。在Models.py文件中,您可以将其用作True(1)或False(0)

,您可以使用BooleanField添加属性 ex:featured=models.BooleanField(默认值=False)
这将显示默认值为未选中的复选框

谢谢。两个问题:代码在视图中的位置(我不需要方法吗?);当我点击它时,复选框不会改变。有什么想法吗?@Psionman,1)你能为这个模板添加你的视图吗。我将在视图中添加代码。2) “当我点击复选框时,复选框不会改变”我不明白。这在模板中吗?1)我添加了有问题的代码。2) 在中缀中工作正常,但在顿悟中不工作!表单中是否有其他字段或仅此复选框?谢谢您的帮助。在我的问题中,我已经详述了你的答案,以展示我是如何在我的案例中实现它的