Django URL传递参数的方法总结
作者:mdxy-dxy 发布时间:2023-02-18 13:08:33
标签:Django,URL传递参数
1 无参数情况
配置URL及其视图如下:
(r'^hello/$', hello)
def hello(request):
return HttpResponse("Hello World")
访问http://127.0.0.1:8000/hello,输出结果为“Hello World”
2 传递一个参数
配置URL及其视图如下,URL中通过正则指定一个参数:
(r'^plist/(.+)/$', helloParam)
def helloParam(request,param1):
return HttpResponse("The param is : " + param1)
访问http://127.0.0.1:8000/plist/china,输出结果为”The param is : china”
3 传递多个参数
参照第二种情况,以传递两个参数为例,配置URL及其视图如下,URL中通过正则指定两个参数:
(r'^plist/p1(\w+)p2(.+)/$', helloParams)
def helloParams(request,param1,param2):
return HttpResponse("p1 = " + param1 + "; p2 = " + param2)
访问http://127.0.0.1:8000/plist/p1chinap22012/
输出为”p1 = china; p2 = 2012″
从这里可以看出,视图的参数是根据URL的正则式,按顺序匹配并自动赋值的。虽然这样可以实现任意多个参数的传递,但是却不够灵活,URL看起来很混乱,而且由于是正则匹配,有些情况下容易出错。
4 通过传统的”?”传递参数
例如,http://127.0.0.1:8000/plist/?p1=china&p2=2012,url中‘?'之后表示传递的参数,这里传递了p1和p2两个参数。
通过这样的方式传递参数,就不会出现因为正则匹配错误而导致的问题了。在Django中,此类参数的解析是通过request.GET.get方法获取的。
配置URL及其视图如下:
(r'^plist/$', helloParams1)
def helloParams(request):
p1 = request.GET.get('p1')
p2 = request.GET.get('p2')
return HttpResponse("p1 = " + p1 + "; p2 = " + p2)
输出结果为”p1 = china; p2 = 2012″
0
投稿
猜你喜欢
- 虚继承 的概念的提出主要是为了解决C++多继承的问题,举个最简单的例子:class animal{ &nb
- 偶写的几个ASP字符串处理函数,用于文章分页的小玩意函数名:StrLen作 用:取得字符串长度(汉字为2)参 
- 1. 递归1.1 定义函数作为一种代码封装, 可以被其他程序调用,当然,也可以被函数内部代码调用。这种函数定义中调用函数自身的方式称为递归。
- 本文实例为大家分享了python绘制散点图和折线图的具体代码,供大家参考,具体内容如下#散点图,一般和相关分析、回归分析结合使用import
- 本文主要介绍的是关于微信小程序利用co处理异步流程的方法教程,分享出来供大家参考学习,需要的朋友们下面来看看详细的介绍:coco是一个基于E
- 本文实例为大家分享了python实现抠图给证件照换背景的具体代码,供大家参考,具体内容如下import cv2import numpy as
- 代码如下:<title>雷锋|优酷-专辑 采集程序</title></head> &
- 一、读取Excel中的数据安装xlrd 只能读取Excel内容pip install xlrd==1.2.0xlrd库的open_workb
- CREATE TABLE [dbo].[TbGuidTable]( [TableName] [varchar](50) NOT NULL,
- vue中引入html静态页面功能:系统中需增加帮助中心页面,由于页面较长,需要实现锚点定位跳转。1、开始用的路由方式,首先在router文件
- 文件操作1#文件操作流程:1、打开文件,得到一个文件句柄;通过文件句柄操作文件;关闭文件。#将文件打开文件赋给file1,test_file
- 1.小猫运动游戏源码# @Author : 辣条'''多行注释本程序运行后会有一只小猫向前走安装模块 pip ins
- 如下所示:try: f =open("D:/1.txt",'r') f.clos
- 使用web.py做http server开发时,遇到postman能够正常请求到数据,但是浏览器无法请求到数据,查原因之后发现是跨域请求的问
- 直接看如下图解1、右击项目,查看提交历史2、选择要回滚的版本,点击回滚3、push回滚的内容:双击该回滚记录,弹出后,检查一下回滚的内容,没
- 是不是很多人不用c#中的using和as操作符?甚至不知道? 其实这2个操作符在小处非常有用。 1、using&nb
- 简单的一个python日志处理类#/usr/bin/python#coding=utf-8import time,typesclass lo
- Mysql是主流的开源关系型数据库,提供高性能的数据存储服务。在做后端开发时,有时会遇到性能瓶颈,这些瓶颈有时并不是来自应用本身,而是来自数
- 在 Go 里面的协程执行实际上默认是没有严格的先后顺序的。由于 Go 语言 GPM 模型的设计理念,真正执行实际工作的实际上是 GPM 中的
- Jupyter Notebook本身是默认使用一种Anaconda中root目录下的Python环境的,如果想使用其它的虚拟环境,还需要通过