关于:url、视图函数、模板3者之间参数传递的理解
url获取参数的途径有2个:
- 1、url中的变量,设置在URL地址中。
- 2、url中添加字典,设置在URL地址外。
urlpatterns = [
path('<year>/<int:month>/<slug:day>', views.mydate),
re_path('/dict/(?P<year>[0-9]{4})/$', views.my_dict,{'month':'09'}, name='my_dict'), #year参数设置在URL地址内,month参数设置在URL地址外。
]
视图函数获取参数的途径:
- 把url传递过来的参数(url地址中的,和url地址外的),全部一起传给视图函数。
def my_dict(request, year, month): #通过url获取到year,month2个参数。
return render(request, 'mydict.html',{'month':month})
模板获取参数的途径:
- 通过视图函数return中的render中的context(即上例中的{'month':month}),来获取需要的变量(参数)。
<a href="{% url 'my_dict' 2018 %}">2019年 {{ month }}</a>
总结:
3者之间参数的传递顺序是:url获取到的参数--->传递给视图函数views--->视图函数再render参数给模板文件。
或者反过来说:模板中的变量(参数)来自于视图函数;而视图函数需要的参数,来自于url。
关于:url、视图函数、模板3者之间参数传递的理解的更多相关文章
- Django学习---路由url,视图,模板,orm操作
Django请求周期 url -> 路由系统 ->函数或者类 -> 返回字符串 或者 模板语言 Form表单提交: 点击提交 -> 进入url系统 -> 执行函数 ...
- C++:函数模板与模板函数
6.1 模板的概念 C++允许用同一个函数定义函数,这些函数的参数个数和参数类型不同.例如求最大值的max函数, int max(int x,int y) { return (x>y ...
- Django创建模板、URL模式、创建视图函数
1.在应用目录下创建模板(templates目录) 在模板目录下创建archive.html <!DOCTYPE html> <html lang="en"> ...
- django重点url,视图函数,模板语言
django重点url,视图函数,模板语言url 1.django重点url无命名分组:re_path() 2.url第一个参:url未命别名分组就不需要views中参数一定,若命别名(?P<y ...
- Django - 环境搭建、url、视图、模板、标签、过滤器
(一).简介 简介就不多说了,网上的内容一大堆.总结来说,django是走大而全的路线,写项目超级快,几乎什么都为你考虑到了,你就乖乖照着它的格式来写就行了. 这里来一些基本认知: web应用框架(w ...
- Python学习笔记整理总结【Django】【MVC/MTV/路由分配系统(URL)/视图函数 (views)/表单交互】
一.Web框架概述 Web框架本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python # -*- coding:utf-8 ...
- Flask理论基础(一)视图函数和URL反转函数(url_for)
一.视图函数 1.1 基本用法试图函数是 app.route 或者 bp.route(蓝图)装饰器装饰的函数.该函数实现了对URL路径的转换,也就是路由功能,例如下面代码定义了默认url ‘/’ 和‘ ...
- Flask视图函数与模板语法
1.Django中的CBV模式 2.Flask中的CBV和FBV def auth(func): def inner(*args, **kwargs): result = ...
- django url配置-反向解析-视图函数-HttpRequest对象-HttpResponse对象-cookies-session-redis缓存session
""" --视图概述:-- 作用:视图接受WEB请求,并响应WEB请求 本质:视图就是一个python中的函数 响应: 1.网页: 一.重定向 二.错误视图 400,50 ...
随机推荐
- aix系统下的websphere的静默安装
一:环境 aix5.3,websphere6(ND版本,WebSphereV6.1_for_AIX_64-bit_Support.tar),注意:aix和websphere的版本问题 二:安装 ...
- linux 命令及配置文件搜索命令which、whereis
which /usr/bin/which 搜索命令所在目录及别名信息 which lsalias ls='ls --color=auto'/usr/bin/ls which rmalias rm='r ...
- SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑
SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑 翻译自:http://troubleshootingsql.com/2011/07/20/preemptiv ...
- Oracle EBS 报错:此责任无可用函数。 更改责任或与您的系统管理员联系。
解决:修改配置文件 1.FND: Diagnostics (FND:诊断) 启用设为”是” 2.Utilities:Diagnostics (公用程序 ...
- RHEL7系统管理之内核管理
1. Kdump工具 Kdump的工作机制是在内核崩溃时, 通过kexec 工具由BIOS启动一个备用内核, 由备用内核执行一系列任务,保存内存中崩溃内核的状态, 供后续故障分析用. 本文默认AMD或 ...
- eclipse中 项目-->属性-->为什么没有deployment assembly 选项
原因: 因为当前的maven工程不是web工程,需要转换成web工程. 解决方法: 右击工程属性,找到Project Facets,选择Dynamic Web Module,2.5 点击apply.这 ...
- CSS学习摘要-定位实例
CSS学习摘要-定位实例 注:全文摘自MDN-CSS定位实例 列表消息盒子 我们研究的第一个例子是一个经典的选项卡消息框,你想用一块小区域包括大量信息时,一个非常常用的特征.这包括含有大信息量的应用, ...
- Test checkout of feature 'Compiler' failed 解决方法(转载)
Test checkout of feature 'Compiler' failed. 2014a的解决办法 适用于已安装compiler但破解不完全的, ht—tp://pan.baidu.co ...
- SpringBoot部署流程
一. 项目介绍 a) 本项目为SpringBoot项目 b) 使用内置Tomcat容器 一. 操作步骤 a) 配置pom.xml文件,确定打包方式 b) 更改项目返 ...
- 函数的调用 and 打印返回值 ret= mai() print(ret)
def mai(): # mai 函数名 (yan) 形式参数 print("老板,给我一包中华") return"给你" # 返回值-- 给你ret = ma ...