django 从零开始 3认识url解析
在视图函数中定义一个函数abc
接受得到的参数 并显示在页面上
urls中设置
在页面会显示出错误 找不到该url ,原因是django1版本中使用的是url和re_path ,突然django2变为path默认不接受不带标识的url
如果想要使用path设置url接受参数 必须指定参数类型和参数名称<int:code>,并在视图函数中确认形参
不能接受 其他类型的参数 比如字符串
当然也可以使用url来配置路由路径 使用正则 匹配 个人觉得re和re_path差不多 ([0-9]{2}) 表示匹配数字0-9 并只匹配2个数字,再多也只显示2个数字
不过url指定的是位置参数,re_path指定的是关键字参数
re_path 李定义的关键字必须和视图函数中的关键字一样, <int:code>/<int:code1> 识图中必须 def xxx(request,code,code1):
url则无所谓,根据参数位置来
还有一定需要注意 path确定类型的数据是指定的类型,比如<int:code> 必定是int <str:code> 这是字符串
而url和re_path 统统都是字符串
视图函数形参位置根据你在urls中设置的位置,有几个设置几个形参位置 不能多不能少
还有request.GET.get('code')拿不到形参,估计是只能拿到url中?后的参数了 我没有在urls中设置?后面的参数 但是可以拿到 比如
如果不懂 推荐看 https://www.bilibili.com/video/av56094208/?p=4 从20分钟看
反向解析这是定义在路由中的name值,以及在项目urls中定义的namespace值
在html模板中使用 {% url 'namespace值:name值'%} 则指向定义该字段的视图函数
同时在视图函数中也可以使用
reverse('user:index')
带有参数的反向解析
指向 /
django 从零开始 3认识url解析的更多相关文章
- Django的url解析
Django中采用正则表达式来匹配所请求的url,这个叫做URLconf,作为MVC中的C(控制器), 这样再调用相应的试图,达到控制器控制试图的显示的效果. 看一下Django的url解析过程 第一 ...
- Django UrL 解析
Django的路由系统 URLconf 本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.1 djan ...
- Django 的路由层URL 分组 路由分发 反向解析
URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调 ...
- Django基础之命名URL和URL反向解析
在使用Django项目时,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等). 人们强烈希望不要硬编码这些URL(费力 ...
- 【django基础补充之URL,视图,模版】
一.url路由配置 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代 ...
- Django之路由分发反向解析
Django路由分发|反向解析 当一个Django中有多个app时,路由会有很多,将这些路由都写在与项目同名的文件夹下就会显得很多,很乱.并且在协同开发的时候容易出现相同的命名,当项目合并后就会出现路 ...
- day052 django第三天 url和视图
一.基本格式 from django.conf.urls import url from . import views #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数 ...
- django之admin源码解析
解析admin的源码 第一步:项目启动,加载settings文件中的 INSTALLED_APPS 里边有几个app就加载几个,按照注册顺序来执行. 第二步:其中加载的是admin.py,加载每一个a ...
- Django基础二之URL路由系统
一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这 ...
随机推荐
- 学习python-20191108(1)Mysql、Flask
一.使用pymysql模块操作MYSQL 导入pymysql模块: pip install pymysql 1.增删改 import pymysql # 定义数据库连接信息 config = { ...
- spring mvc +@Valid +@RequestBody 来做参数校验返回400,并且不显示具体message 如何解决
参考文档: https://www.oschina.net/question/115867_2282711 谢谢原作者
- Mac下通过FFMpeg实现Android手机推流和播放
一.Mac下搭建推流服务器(Nginx+RTMP+FFMpeg) 安装x264 git clone git://git.videolan.org/x264.git cd x264 ./configur ...
- sql语句查询成绩表各科前三名
--语法形式: ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) --解释: 根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示 ...
- supervised learning|unsupervised learning
监督学习即是supervised learning,原始数据中有每个数据有自己的数据结构同时有标签,用于classify,机器learn的是判定规则,通过已成熟的数据training model达到判 ...
- 吴裕雄--天生自然 PYTHON语言数据分析:ESA的火星快车操作数据集分析
import os import numpy as np import pandas as pd from datetime import datetime import matplotlib imp ...
- 批量修改datafram中某一列
如要对df中列名为“values”的值做修改,大于等于50改为1,小于50改为0,可用apply函数来实现: def fun(x): if x >= 50: return 1 else: ret ...
- loadrunner通过socket测接口
#include "lrs.h" Action() { //建立到服务端的连接 lrs_create_socket("socket1",&quo ...
- const define static extern
const const意味着"只读",欲阻止一个变量被改变,可以使用const关键字 const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p) define #define ...
- 淘宝网-接口测试白皮书V0.1
<软件自动化测试开发> 出版了 淘宝(中国)软件有限公司 接口测试白皮书 V0.1 淘宝网平台测试组(qa.taobao.com) 淘宝网-接口测试白皮书 2 目录 1 接口测试的背 ...