首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用for循环将在django模板中创建的多个复选框中的数据传递到views.py,而不使用表单

在Django模板中创建多个复选框,并将数据传递到views.py,可以通过以下步骤实现,而不使用表单:

  1. 在Django模板中,使用for循环创建多个复选框,并为每个复选框设置唯一的name属性和value属性。例如:
代码语言:txt
复制
{% for item in items %}
    <input type="checkbox" name="checkboxes" value="{{ item }}">
{% endfor %}
  1. 在模板中添加一个提交按钮,用于将选中的复选框数据传递到views.py。例如:
代码语言:txt
复制
<form method="post" action="{% url 'my_view' %}">
    {% csrf_token %}
    {% for item in items %}
        <input type="checkbox" name="checkboxes" value="{{ item }}">
    {% endfor %}
    <button type="submit">提交</button>
</form>
  1. 在views.py中,使用request.POST.getlist()方法获取选中的复选框数据。例如:
代码语言:txt
复制
def my_view(request):
    selected_checkboxes = request.POST.getlist('checkboxes')
    # 处理选中的复选框数据
    return HttpResponse("数据已传递到views.py")

通过以上步骤,可以在Django模板中创建多个复选框,并将选中的复选框数据传递到views.py中进行处理。注意,需要在模板中使用CSRF令牌保护表单数据,并在views.py中处理选中的复选框数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django 1.10文文档-第一个应用Part3-视图和模板

Django,网页页面和其他内容都是由视图(views.py)来传递(视图对WEB请求进行回应)。每个视图都是由一个Python函数(或者是基于类视图方法)表示。...您视图可以从数据库读取记录,也可以不读取。它可以使用模板系统:如Django或第三方Python模板系统 或。...为了方便,让我们使用Part1介绍Django自己数据库API。...Django将在这里查找模板。 项目的settings.pytemplates配置决定了Django如何加载渲染模板。将APP_DIRS设置为True。...例如,polls 应用具有一个detail 视图,相同项目中博客应用可能也有这样一个视图。当使用模板标签{% url %}时,人们该如何做才能使得Django知道为一个URL创建哪个应用视图?

2.3K60

django 1.8 官方文档翻译: 5-1-1 使用表单

实例化、处理和渲染表单Django 渲染一个对象时,我们通常: 在视图中获得它(例如,从数据获取) 将它传递模板上下文 使用模板变量将它扩展为HTML 标记 在模板渲染表单和渲染其它类型对象几乎一样...GET 请求,它将创建一个空表单实例并将它放置要渲染模板上下文中。...如何使用表单处理文件上传更多细节,请参见绑定上传文件一个表单使用表单模板 你需要做就是将表单实例放进模板上下文。...每个字段都是表单一个属性,可以使用{{ form.name_of_field }} 访问,并将在Django 模板中正确地渲染。...可重用表单模板 如果你网站在多个地方对表单使用相同渲染逻辑,你可以保存表单循环一个单独模板来减少重复,然后在其它模板使用include 标签来重用它: # In your form template

4.2K20

Django 模板

模板模板模板如何划分区域 Django 模板 模板传值取值 后端传值 键值对形式:{‘name’:value} 精准传值,用啥传啥 函数:locals() locals()将当前名称空间中所有的变量名全部传递给页面...default 在html文件,default 为变量提供一个默认值,如果views传变量布尔值为false,则使用指定默认值,如果为true,就使用views传变量值; from django.shortcuts...后端: 使用views.py mark_safe 效果相同 Django 会自动对 views.py 传到HTML文件标签语法进行转义,令其语义失效。...加 safe 过滤器是告诉 Django数据是安全,不必对其进行转义,可以让该数据语义生效(这里涉及xss攻击自行查阅) from django.shortcuts import render...在我们使用form表单时候,经常报403权限错误,这里我们可以在HTML页面使用{% csrf_token %},表单提交数据才会成功,或者在settings.py将中间件注释掉也可以; 解析:

4.8K10

关于“Python”核心知识点整理大全58

19.2.3 注销 现在需要提供一个让用户注销途径。我们创建用于注销页面,让用户只需单击一个 链接就能注销并返回到主页。...19.2.4 注册页面 下面来创建一个让新用户能够注册页面。我们将使用Django提供表单UserCreationForm, 但编写自己视图函数和模板 1....如果提交数据有效,我们就调用表单方法save(),将用户名和密码散列值保存到数据(见4)。方法save()返回新创建用户对象,我们将其存储在new_user。...用户注册时,被要求输入密码两次;由于 表单是有效,我们知道输入这两个密码是相同,因此可以使用其中任何一个。在这里,我 们从表单POST数据获取与键'password1'相关联值。...19.3 让用户拥有自己数据 用户应该能够输入其专有的数据,因此我们将创建一个系统,确定各项数据所属用户,再 限制对页面的访问,让用户只能使用自己数据

9910

Django—视图

这种语法用于test3/urls.py,目的是将应用urls配置应用内部,数据更清晰并且易于维护。...视图传递变量request_path给模板,表示导致错误URL。 1)在templates创建404.html。 2)定义代码如下: ? ?...这个属性是可写,可以通过修改它来修改访问表单数据使用编码,接下来对属性任何访问将使用encoding值。...问:表单form如何提交参数呢? 答:表单控件name属性值作为键,value属性值为值,构成键值对提交。 如果表单控件没有name属性则不提交。...如果使用这种方式构造一个漂亮丰富页面,对于开发人员真是会发疯,于是就有了下面的方式: 调用模板 可以将html、css、js定义一个html文件,然后由视图来调用。

4.4K20

Django搭建blog网站(二)

首页视图函数数据库获取文章列表并保存到 post_list 变量,然后把这个 post_list 变量传给模板模板使用 for 模板标签循环这个文章列表变量,从而展示一篇篇文章。...函数就这么简单,但目前它还只是一个纯 Python 函数,Django模板还不知道该如何使用它。...12.3.评论视图函数 当用户提交表单数据后,Django 需要调用相应视图函数来处理这些数据,下面开始写我们视图函数处理逻辑: comments/views.py from django.shortcuts...,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应评论列表数据,然后传递模板显示: blog/views.py import markdown...我们在表单视图函数里传递了一个 form 变量给模板,这个变量就包含了自动生成 HTML 表单全部数据。在 detail.html 通过 form 来自动生成表单

4.5K100

关于“Python”核心知识点整理大全54

模板并非必须定义父模板每个块,因此在父模板,可使用任意多个块来预留空间, 模板可根据需要定义相应数量块。 注意 在Python代码,我们几乎总是缩进四个空格。...在这里,只有一个键—值对, 它包含我们将在网页显示一组主题。创建使用数据网页时,除对象request和模板路径 外,我们还将变量context传递给render()(见5)。 3....模板 显示所有主题页面的模板接受字典context,以便能够使用topics()提供数据。请创建一 个文件,将其命名为topics.html,并存储index.html所在目录。...模板使用代码与Python代码存在一些重要差别:Python使用缩进来指出哪些代码行是for循环 组成部分,而在模板,每个for循环都必须使用{% endfor %}标签来显式地指出其结束位置。...发现URL与这个模式匹配时,Django将调用视图函数topic(),并将存储在topic_id值作 为实参传递给它。在这个函数,我们将使用topic_id值来获取相应主题。 2.

16310

继续Django

") 当获取多个时候类似复选框以及可以多选select时候,通过request.POST.getlist("city")方式获取相应内容,这样得到是一个列表,即: request.POST.getlist...("标签name属性值") 当时获取上传文件时候 首先form表单应该有如下属性:enctype="multipart/form-data" 然后在views.py通过obj = request.FILES.get...这样从效果就可以看出当再次访问home页面的时候,每次都需要打印before以及after 5、    模板语言中字典循环 views.py写如下代码: USER_DICT = { "k1"...),这样当多个参数就会传递*args里,当传递字典类型参数时候就会传递**kwargs 4、    name name是对URL路由关系进行命名,以后可以根据此名称生成自己想要URL url...去不同app下找相应app级别的urls 这样就实现了路由分发 DjangoORM 1、    创建类 根据类自动创建数据库表 创建位置是在你创建app目录下有一个models.py,就在这个文件创建

2.1K70

关于“Python”核心知识点整理大全55

如果你刷新显示所有主题页面,再单击其中一个主题,将看到类似于图18-5所示页面。 18.5 小结 在本章,你首先学习了如何使用Django框架来创建Web应用程序。...你制定了简要项目规 范,在虚拟环境安装了Django创建了一个项目,并核实该项目已正确地创建。你学习了如何 创建应用程序,以及如何定义表示应用程序数据模型。...你学习了数据库,以及在你修改模型后, Django可为你迁移数据库提供什么样帮助。你学习了如何创建可访问管理网站超级用户,并 使用管理网站输入了一些初始数据。...你还探索了Django shell,它让你能够在终端会话处理项目的数据。你学习了如何定义URL、 创建视图函数以及编写为网站创建网页模板。...在Django创建表单最简单方式是使用ModelForm,它根据我们在第18章定义模型 信息自动创建表单

12810

Django 3.1 官网学习路线

但是,其中一些应用程序至少使用了一个数据库表,因此在使用表之前,我们需要在数据创建表。...您将在 Python 代码中使用此值,数据库将使用它作为列名。 可以对字段使用可选第一个位置参数来指定我们可读名称。它在 Django 几个内省部分中使用,同时也用作文档。...迁移功能非常强大,它允许您在开发项目时随着时间推移更改模型,不需要删除数据库或表并创建新表——它专门用于实时升级数据库,不会丢失数据。...因此,让我们使用 Django 模板系统来创建视图可以使用模板,从而将设计与 Python 分离开来。 首先,在您轮询目录创建一个名为 templates 目录。...在刚刚创建模板目录创建另一个名为 polls 目录,并在该目录创建一个名为 index.html 文件。

8.1K10

Django 1.10文文档-第一个应用Part4-表单和通用视图

这是HTML表单基本概念; action表示你要发送目的url,method表示提交数据方式; forloop.counter表示for循环次数; 由于我们发送了一个POST请求...现在,创建一个Django视图来处理提交数据,在Part3已经创建了一个URLconf ,包含这一行: # polls/urls.py url(r'^(?...他们都具有类似的业务逻辑,实现类似的功能:通过从URL传递过来参数去数据库查询数据,加载一个模板,利用刚才数据渲染模板,返回这个模板。...在本例,实际使用是polls/question_detail.html。template_name属性就是用来指定这个模板,用于代替自动生成默认模板名。...Part3-视图和模板 Django 1.10文文档-第一个应用Part4-表单和通用视图

2.3K40

Django教程(二)- Django视图与网址进阶1. HTML表单2.CSRF3.代码操作

表单元素是允许用户在表单输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。...字段 (只需要在模板里加一个 tag, django 就会自动帮你生成,见下面) 在处理 POST 请求之前,django 会验证这个请求 cookie 里 csrftoken 字段值和提交表单...在所有 ajax POST 请求里,添加一个 X-CSRFTOKEN header,其值为 cookie 里 csrftoken Django如何使用 CSRF 防护: 首先,最基本原则是...定义视图函数views.py 在app创建urls.py,定义视图函数相关url ?...创建urls.py 在项目的urls.py,导入django.conf.urls.include模块,并且添加到urlpatterns列表 ?

4.3K40

Django—入门

使用django进行数据库开发步骤如下: 1.在models.py定义模型类 2.迁移 3.通过类和对象完成数据增删改查操作 下面我们以保存图书信息为例来给大家介绍Django中进行数据库开发整个流程...在列表页中点击"增加"可以进入增加页,Django会根据模型类不同,生成不同表单控件,按提示填写表单内容后点击"保存",完成数据创建创建成功后返回列表页。 ?...一条URLconf包括url规则、视图两部分: url规则使用正则表达式定义。 视图就是在views.py定义视图函数。...{{ li }} {% endfor %} 在模板输出变量语法如下,变量可能是从视图中传递过来,也可能是在模板定义。...,方法render包含3个参数: 第一个参数为request对象 第二个参数为模板文件路径 第三个参数为字典,表示向模板传递上下文数据 打开booktst/views.py文件,调用render代码如下

1.8K10

Python Django开发 经验技巧总结(一)

文章目录 1.前后台数据传递 2.与数据库交互并返回数据几种比较常用方法 3.一个表单对应多个按钮解决方案 4.HTML表单控件及操作 5.消息框架 message使用 6.日期和时间DateField...auto_now、auto_now_add 7.获取已登录用户名字 8.数据库表属性自增/自减操作 9.执行原始sql语句 10.分页显示数据 1.前后台数据传递 view -> HTML:使用...-这个method代表方法,方法一般有两个一个是'post',一个是'get',action是提交表单何处,可填写一个网址。填则默认到本页面。> {%csrf_token%} <!...5.消息框架 message使用 消息级别: 级别 说明 DEBUG 将在生产部署忽略(或删除)与开发相关消息 INFO 普通提示信息 SUCCESS 成功信息 WARNING 警告信息 ERROR...%} 8.数据库表属性自增/自减操作 通过相对更新操作来更加快速、健壮地实现,不是显示地(explicit)对新值进行赋值。

1.3K10

Python全栈开发之Django基础

请求者在浏览器输入url,请求网站后,获取url信息,然后在URL.conf逐条匹配,如果匹配成功返回相应视图函数,如果所有URLconf都没有匹配成功,返回404错误 # app01/views.py...False blank:如果为True,则该字段允许为空白,默认值是False,null是数据库范畴概念,blank是表单验证范畴 db_column:字段名称,如果未指定,则使用属性名称 db_index...:多对多,将字段定义在任意一端 OneToOneField:一对一,将字段定义在任意一端 可以维护递归关联关系,使用'self'指定,详见"自关联" 一对多 一本图书中可以对应多个英雄,所以图书和英雄是一对多关系...使用load标签引入模块 {%load filters%} 模板继承 父模板 如果发现在多个模板某些内容相同,那就应该把这段内容定义模板 标签block:用于在父模板预留区域,留给子模板填充差异性内容...如果想防止CSRF,首先是重要信息传递都采用POST方式不是GET方式 防止CSRF Django提供了csrf中间件用于防止CSRF***,只需要在mysite/settings.py启用csrf

3.7K20

Django基础教程

' # 同一模板多个上下文,一旦有了模板对象,你就可以通过它渲染多个context,无论何时我们都可以 # 像这样使用同一模板源渲染多个context,只进行 一次模板创建然后多次调用render...这就带来一个常见 Web 开发问题: 在整个网站如何减少共用页面区域(比如站点导航)所引起重复和冗余代码?Django 解决此类问题首选方法是使用一种优雅策略—— 模板继承 。...注意由于子模板并没有定义 footer 块,模板系统将使用在父模板定义值。 父模板 {% block %} 标签内容总是被当作一条退路。继承并不会影响模板上下文。...如果发觉自己在多个模板之间拷贝代码,你应该考虑将该代码段放置模板某个 {% block %} 。...如果只想在上级代码块基础上添加内容,不是全部重载,该变量就显得非常有用了。 不允许在同一个模板定义多个同名 {% block %} 。

7.4K20

关于“Python”核心知识点整理大全56

在3处,我们显示表单,从中可知Django使得完 成显示表单等任务有多简单:我们只需包含模板变量{{ form.as_p }},就可让Django自动创建显 示表单所需全部字段。...通过让 Django使用forms.Textarea,我们定制了字段'text'输入小部件,将文本区域宽度设置为80 列,不是默认40列。...如果请求方法为POST,我们就对数据进行处理:创建一个EntryForm 实例,使用request对象POST数据来填充它(见4);再检查表单是否有效,如果有效,就设 置条目对象属性topic,再将条目对象保存到数据库...调用save()时,我们传递了实参commit=False(见5),让Django创建一个新条目对象,并 将其存储new_entry,但不将它保存到数据。...表单实参action包含URLtopic_id值,让视图函数能够将新条目关联正确主题(见 2)。除此之外,这个模板模板new_topic.html完全相同。 5.

11510
领券