首页
学习
活动
专区
圈层
工具
发布

Django之视图层与模板层

,而是会将表单数据按照 k1=v1&k2=v2&k3=v3的格式放到url中,然后发送给django,django会将这些数据封装到request.GET中,注意此 时的request.body为空、无用...2.1.2模板传值 模板支持的数据类型 模板支持的数据类型:整型、浮点型、字符串、字典、列表、元组、集合、bool,也就是支持python基本的数据类型全都支持。...请求到form表单时,标签{% csrf_token%}会被渲染成一个隐藏的input标签,该标签包含了由服务端 生成的一串随机字符串,如<input type="hidden" name="csrfmiddlewaretoken..." value="dmje28mFo...OvnZ5"> # 2、在使用form表单提交POST请求时,会提交上述随机字符串,服务端在接收到该POST请求时会对比该随机字符 串,对比成功则处理该POST...,'test.html',{'n':n}) # 第二种,使用locals()会将当前所在名称空间中所有的名字全部传递给html页面 2.5模板的继承和导入 在实际开发中,模板文件彼此之间可能会有大量的冗余代码

10.7K10

Django视图层之路由配置系统(urls)

/articles/2005/03/ 请求将匹配列表中的第三个模式。               ...在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是(?...不包括GET和POST参数以及域名。 例如,http://www.example.com/myapp/ 请求中,URLconf 将查找myapp/。...换句话讲,所有的请求方法 —— 同一个URL的POST、GET、HEAD等等 —— 都将路由到相同的函数。 4 指定视图参数的默认值 有一个方便的小技巧是指定视图参数的默认值。...根据Django 视图的标识和将要传递给它的参数的值,获取与之关联的URL。 反向解析URL、反向URL 匹配、反向URL 查询或者简单的URL 反查。

1.9K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Python中的】列表生成式和字典生成式以及内置函数

    参考链接: Python中的关键字2 前言:          在Python中可以使用列表生成式进行代码的简化,并且提高代码的运行效率,  Python中的内置函数可以使得在工作需求中,进行简单的代码运算并且不再进行...  相应的函数定义,可以提高工作效率,本篇博客将讲解Python中常见的内置函数,  以及字典生成式和列表生成式。 ...正文:  一、列表生成式  定义:列表生成式顾名思义就是生成列表的表达式  示例1:找出1-num之间的所有质数  """ 找出1-num之间的所有质数 题目分析: 1、生成一个列表1-num,进行列表的煸历...  """ 假设有20个学生,学生名为westosX,学生成绩在60--100之间 筛选出90分以上的成绩 题目分析: 1、使用随机数生成20个随机数,使用for循环进行随机数范围的控制 2、使用字典将学生名与成绩进行保存...题目分析: 1、将所要求的字典进行煸历, 2、定义一个新的字典,将原字典的value中的值不变 将原字典的key值进行大写的转换,将生成的value和 key值存入新字典 3、进行字典的输出 """

    4.6K00

    Python Day16 Django

    和Template 此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template URL控制器(路由层) 简单配置...可选的要传递给视图函数的默认参数(字典形式) 一个可选的name参数 分组 NOTE: 1 一旦匹配成功则不再继续 2 若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。...将调用函数views.month_archive(request, '2005', '03') 有名分组 上面的示例使用简单的、没有命名的正则表达式组(通过圆括号)来捕获URL 中的值并以位置 参数传递给视图...在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是(?...换句话讲,所有的请求方法 —— 同一个URL的POST、GET、HEAD等等 —— 都将路由到相同的函数 将url匹配文件写到不同的app中有利于解耦,因此用到url分发 第一步,在url后面引入include

    2.4K10

    django之评论系统及多级评论

    我们的第一个应用叫 blog,它里面放了展示博客文章列表和细节等相关功能的代码。而这里我们再创建一个应用,名为 comments,这里面将存放和评论功能相关的代码。...我们遵循 Django 的规范写的一些 Python 代码,例如创建 Post、Category 类,然后通过运行数据库迁移命令将这些代码反应到数据库。...但既然我们已经有了一个 Post 模型的实例 post(它对应的是 Post 在数据库中的一条记录),那么获取和 post 关联的评论列表有一个简单方法,即调用它的 xxx_set 属性来获取一个类似于...我们可以看到评论表单和评论列表是位于文章详情页面的,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应的评论列表数据,然后传递给模板显示: blog...我们在表单的视图函数里传递了一个 form 变量给模板,这个变量就包含了自动生成 HTML 表单的全部数据。在 detail.html 中通过 form 来自动生成表单。

    7.8K61

    评论

    我们的第一个应用叫 blog,它里面放了展示博客文章列表和细节等相关功能的代码。而这里我们再创建一个应用,名为 comments,这里面将存放和评论功能相关的代码。...我们知道每一个 URL 对应着一个 Django 的视图函数,于是 Django 调用这个视图函数,我们在视图函数中写上处理用户通过表单提交上来的数据的代码,比如验证数据的合法性并且保存数据到数据库中,...但既然我们已经有了一个 Post 模型的实例 post(它对应的是 Post 在数据库中的一条记录),那么获取和 post 关联的评论列表有一个简单方法,即调用它的 xxx_set 属性来获取一个类似于...我们可以看到评论表单和评论列表是位于文章详情页面的,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应的评论列表数据,然后传递给模板显示: blog...我们在表单的视图函数里传递了一个 form 变量给模板,这个变量就包含了自动生成 HTML 表单的全部数据。在 detail.html 中通过 form 来自动生成表单。

    4.1K60

    Django|第一部

    Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的时候调用Model和Template 此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的...(请求/文章/ 2005/03 /匹配列表中的第三项,Django的将调用函数views.monthly存档(要求下,'2005','03')。)...Here, Django would call the function views.special_case_2003(request)   (/文章/ 2003 /将匹配第一个模式列表中,没有第二个...(该django.conf.urls.url()函数可以接受这应该是额外的参数的字典传递给视图功能可选的第三个参数。)...(在本例中,请求/博客/ 2005 / Django将调用视图。年存档(请求,年= ' 2005 ',foo = '参数')。)

    1.2K40

    Django搭建blog网站(二)

    这些内容相对比较固定,且在各个页面都会显示,如果像文章列表或者文章详情一样,从视图函数中获取然后传递给模板,则每个页面对应的视图函数里都要写一段获取这些内容的代码,这会导致很多重复代码。...这里唯一的不同是我们从数据库获取文章列表的操作不是在视图函数中进行,而是在模板中通过自定义的 {% get_recent_posts %} 模板标签进行。...由于日期列表中的元素为 Python 的 date 对象,因此可以通过其 year 和 month 属性分别获取年和月的信息,{{ date.year }} 年 {{ date.month...两个括号括起来的地方是两个命名组参数,Django 会从用户访问的 URL 中自动提取这两个参数的值,然后传递给其对应的视图函数。...我们可以看到评论表单和评论列表是位于文章详情页面的,处理文章详情页面的视图函数是 detail,相应地需要更新 detail,让它生成表单和从数据库获取文章对应的评论列表数据,然后传递给模板显示: blog

    5.3K100

    【Django】 Python Web 框架基础

    Django框架的介绍 起源&现状 2005年发布,采用Python语言编写的开源web框架 早期的时候Django主做新闻和内容管理的 一个重量级的 Python Web框架,Django...语法: 作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数 转换器 效果 案例 str 匹配除了 '/' 之外的非空字符串 "v1/users/...Ppattern) ;匹配提取参数后用关键字传参方式传递给视图函数 示例: 路由配置文件 # file : /urls.py # 以下示例匹配 # 可匹配 http://127.0.0.1...POST:QueryDict查询字典的对象,包含post表单提交方式的所有数据 FILES:类似于字典的对象,包含所有的上传文件信息 COOKIES:Python字典,包含所有的cookie,键和值都为字符串...request.GET['a'] # b = request.GET['b'] # Erro POST处理 POST 请求动作,一般用于向服务器提交大量数据 客户端通过表单等 POST 请求将数据传递给服务器端

    2.9K20

    Python进阶27-Django 路由层

    没有命名的正则表达式组(通过圆括号)来捕获URL 中的值并以位置 参数传递给视图。...在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是(?...,不要混用 反向解析 ---- 反向解析介绍 在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等...中定义相同的name时,可能会导致URL反解错误,为了避免这种事情发生,引入了命名空间。...变量值,以供Django传递到对应的视图函数中。

    1.5K30

    Django+Vue项目学习第一篇:django后台搭建

    最近在学习Django和Vue,经过一段时间的摸索终于把前后端调通了,初步达到了学习的目的: 使用Vue写前端页面; 使用Django处理后台逻辑,生成数据返给前端; 利用axios发送网络请求...,包含get请求、post请求、携带参数的请求; Django如何接收不同类型请求头对应的请求参数,例如表单数据、json数据; 解决Vue+Django的跨域问题; 解决Vue+Django...创建应用 在 Django 中,每一个 应用 都是一个 Python 包,并且遵循着相同的约定。...创建视图 因为功能比较简单,所以我的业务处理逻辑直接在视图文件中编写了 from django.shortcuts import render from django.http import HttpResponse...()视图方法和name()方法中,分别预留了一个参数num,是需要从前端请求中获取的,这里我们先定义出来,后续写前端页面时,需要从页面输入num参数传递给后端 6.

    1.7K31

    Django搭建blog网站(一)

    此外我们在创建文章时提到了通过 get 方法来获取数据,这里 all 方法和 get 方法的区别是:all 方法返回全部数据,是一个类似于列表的数据结构(QuerySet);而 get 返回一条记录数据...不过我们仅仅在首页返回了一句话:欢迎访问我的博客。这是个 Hello World 级别的视图函数,我们需要编写真正的首页视图函数,当用户访问我们的博客首页时,他将看到我们发表的博客文章列表。...我们前面在视图函数 index 里给模板传了一个 post_list 变量,它里面包含着从数据库中取出的文章列表数据。...为了方便地生成上述的 URL,我们在 Post 类里定义一个 get_absolute_url方法,注意 Post 本身是一个 Python 类,在类中我们是可以定义任何方法的。...- 列表项2 - 列表项3 > 这是一段引用 ~~~~python def detail(request, pk): post = get_object_or_404(Post, pk=pk)

    6.5K91

    基于类的通用视图:ListView 和 DetailView

    于是,Django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于类的通用视图(Class Based View)。...将 index 视图函数改写为类视图 针对这种从数据库中获取某个模型列表数据(比如这里的 Post 列表)的视图,Django 专门提供了一个 ListView 类视图。...在 Django 中 URL 模式的配置方式就是通过 url 函数将 URL 和视图函数绑定。...将 category 视图函数改写为类视图 category 视图函数的功能也是从数据库中获取文章列表数据,不过其和 index 视图函数不同的是,它获取的是某个分类下的全部文章。...最后我们复写了 get_context_data 方法。这部分对应着 detail 视图函数中生成评论表单、获取 post 下的评论列表的代码部分。

    3.6K70

    Django模板语言与视图(view)

    比如使用逗号和空格去连接一个列表中的元素,如:{{ list|join:', ' }} '|'和':' 左右没有空格  Django模板语言中提供了约60个内置过滤器   default   如果一个变量是...:' '}}  (如果value为'da sha bi',那么将输出为"dashabi")   join  使用字符串连接列表,例如Python的str.join(list)   timesince   ...然后,Django加载相应的视图,将这个HttpRequest对象作为第一个参数传递给视图函数。 每个视图负责返回一个HttpResponse对象。   ...CBV版添加装饰器 类中的方法与独立函数不完全相同,因此不能直接将函数装饰器应用于类中的方法 ,我们需要先将其转换为方法装饰器。...Django会将这个对象自动传递给响应的视图函数,一般视图函数约定俗成地使用 request 参数承接这个对象。

    4.1K20

    Django内置的通用类视图及实例

    表示对象列表的一个页面. 执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询集,但不是必须)....属性: tamplate_name: form_class: fields:字段名称列表,其解释方式与ModelForm的Meta.fields相同.如果你是自动生成表单类,那么该属性不能省略. success_url...该视图用法与CreateView基本相同,仅在BaseUpdateView中对get()和post()的内部实现有区别. 6.DeleteView ?...显示确认页面并删除现有对象的视图.仅当请求方法为POST时,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单....可以直接用Django通用视图里的UpdateView和CreateView。

    4.3K40

    Django的路由控制

    它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义 示例: 一些请求的例子: /articles/2005/03/ 请求将匹配列表中的第三个模式。...中的值并以位置 参数传递给视图。...在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是(?...P[0-9]{2})/$', views.article_detail), ] 这个实现与前面的示例完全相同,只有一个细微的差别:捕获的值作为关键字参数而不是位置参数传递给视图函数。...反向解析 在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。

    3.2K20

    django 1.8 官方文档翻译: 3-1-1 URL调度器

    在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是(?...不包括GET和POST参数以及域名。 例如,http://www.example.com/myapp/ 请求中,URLconf 将查找myapp/。...换句话讲,所有的请求方法 —— 同一个URL的POST、GET、HEAD等等 —— 都将路由到相同的函数。...根据Django 视图的标识和将要传递给它的参数的值,获取与之关联的URL。 第一种方式是我们在前面的章节中一直讨论的用法。...在下面的例子中,我们将讨论在两个不同的地方部署教程中的polls 应用,这样我们可以为两种不同的用户(作者和发布者)提供相同的功能。

    2K20

    初探Django框架

    b.如果涉及到数据调用,那么视图函数调用模型,模型去数据库查找数据,然后逐级返回。 模型将视图函数所需要的数据返回到视图函数中, 然后视图函数再把返回的数据填充到模板中空格中,最后返回网页给用户。...search2.py 一个显示的Template模板和一个负责业务逻辑的视图View文件即可 区别就与POST传输数据要将form表单中的method方法从get改为post, 同时接收参数的视图通过修改...method 请求中使用的HTTP方法的字符串表示。全大写表示 GET, POST 分别获取get传参和post传参的参数,REQUEST则是联合了两者的全部参数。...GET 数据类型是 QueryDict,一个类似于字典的对象,包含 HTTP GET 的所有参数。 有相同的键,就把所有的值放到对应的列表里。...Django1.1.x 版本中的 url 和 Django 2.2.x 版本中的 re_path 用法相同。

    2.7K20
    领券