内容简介:翻译自:https://stackoverflow.com/questions/29714763/django-check-if-checkbox-is-selected
项目,可以使用一些帮助.它只是一个简单的数据库查询前端.
目前,我仍然坚持使用复选框,单选按钮等来改进搜索
我遇到的问题是弄清楚如何知道何时选中复选框(或多个).到目前为止我的代码是这样的:
views.py
def search(request): if 'q' in request.GET: q = request.GET['q'] if not q: error = True; elif len(q) > 22: error = True; else: sequence = Targets.objects.filter(gene__icontains=q) request.session[key] = pickle.dumps(sequence.query) return render(request, 'result.html', {'sequence' : sequence, 'query' : q, 'error' : False}) return render(request, 'search.html', {'error': True})
search.html
<p>This is a test site</p></center> <hr> <center> {% if error == true %} <p><font color="red">Please enter a valid search term</p> {% endif %} <form action="" method="get"> <input type="text" name="q"> <input type="submit" value="Search"><br> </form> <form action="" method="post"> <input type='radio' name='locationbox' id='l_box1'> Display Location <input type='radio' name='displaybox' id='d_box2'> Display Direction </form> </center>
我目前的想法是,我检查选择了哪些复选框/单选按钮,具体取决于哪些,将查询正确的数据并显示在表格中.
特别是:
如何检查是否选中了特定的复选框?以及如何将此信息传递到views.py
收音机按钮:
在单选按钮的HTML中,您需要所有相关的无线电输入共享相同的名称,具有预定义的“值”属性,并且最佳地具有周围的标签标记,如下所示:
<form action="" method="post"> <label for="l_box1"><input type="radio" name="display_type" value="locationbox" id="l_box1">Display Location</label> <label for="d_box2"><input type="radio" name="display_type" value="displaybox" id="d_box2"> Display Direction</label> </form>
然后在您的视图中,您可以通过检查POST数据中的共享“name”属性来查找所选的内容.它的值将是HTML输入标记的关联“value”属性:
# views.py def my_view(request): ... if request.method == "POST": display_type = request.POST.get("display_type", None) if display_type in ["locationbox", "displaybox"]: # Handle whichever was selected here # But, this is not the best way to do it. See below...
这有效,但需要人工检查.最好先创建一个Django表单.然后Django会为你做那些检查:
forms.py:
from django import forms DISPLAY_CHOICES = ( ("locationbox", "Display Location"), ("displaybox", "Display Direction") ) class MyForm(forms.Form): display_type = forms.ChoiceField(widget=forms.RadioSelect, choices=DISPLAY_CHOICES)
your_template.html:
<form action="" method="post"> {# This will display the radio button HTML for you #} {{ form.as_p }} {# You'll need a submit button or similar here to actually send the form #} </form>
views.py:
from .forms import MyForm from django.shortcuts import render def my_view(request): ... form = MyForm(request.POST or None) if request.method == "POST": # Have Django validate the form for you if form.is_valid(): # The "display_type" key is now guaranteed to exist and # guaranteed to be "displaybox" or "locationbox" display_type = request.POST["display_type"] ... # This will display the blank form for a GET request # or show the errors on a POSTed form that was invalid return render(request, 'your_template.html', {'form': form})
复选框:
复选框的工作方式如下:
forms.py:
class MyForm(forms.Form): # For BooleanFields, required=False means that Django's validation # will accept a checked or unchecked value, while required=True # will validate that the user MUST check the box. something_truthy = forms.BooleanField(required=False)
views.py:
def my_view(request): ... form = MyForm(request.POST or None) if request.method == "POST": if form.is_valid(): ... if request.POST["something_truthy"]: # Checkbox was checked ...
进一步阅读:
https://docs.djangoproject.com/en/1.8/ref/forms/fields/#choicefield
https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#radioselect
https://docs.djangoproject.com/en/1.8/ref/forms/fields/#booleanfield
翻译自:https://stackoverflow.com/questions/29714763/django-check-if-checkbox-is-selected
以上所述就是小编给大家介绍的《python – Django检查是否选中了复选框》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- JQuery选中select组件被选中的值方法
- JQuery选中select组件被选中的值方法
- android 中心区域选中图表 WheelChart
- 在ng-repeat内Checkbox默认选中
- Xshell 配置 鼠标选中即复制,右键即粘贴的功能
- 手撕一个让人 “欲罢不能” 的水波纹选中控件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
An Introduction to Genetic Algorithms
Melanie Mitchell / MIT Press / 1998-2-6 / USD 45.00
Genetic algorithms have been used in science and engineering as adaptive algorithms for solving practical problems and as computational models of natural evolutionary systems. This brief, accessible i......一起来看看 《An Introduction to Genetic Algorithms》 这本书的介绍吧!