[py]django url 参数/reverse和HttpResponseRedirect
需要完成以下任务
- 访问http://127.0.0.1:8000/ 返回"hello maotai"或home.html
- 访问http://127.0.0.1:8000/add/?a=1&b=2 返回之和
- 访问http://127.0.0.1:8000/add2/2/3 返回值和
- 访问http://127.0.0.1:8000/add2_v2/2/3 跳转到add2,并返回之和
项目代码实现

views.html书写
views.html
#### 返回字符串
def index(request):
return HttpResponse("hello maotai")
#### url参数 ?a=1&b=2 方式传参
def add(request):
a = request.GET['a']
b = request.GET['b']
c = int(a) + int(b)
return HttpResponse(c)
#### url参数/2/3 方式传递
def add2(request, a, b):
c = int(a) + int(b)
return HttpResponse(str(c))
#### 重定向到add2, url的cname
#### 模板解析也用到了reverse函数,解析谁? 解析html,将解析到的结果返回
def add2_v2(request, a, b):
return HttpResponseRedirect(reverse('add2', args=(a, b)))
#### 返回html
def home(request):
return render(request, "home.html")
urls.py
urlpatterns = [
path('', views.index),
path('home/', views.home),
path('add/', views.add),
path('add2/<int:a>/<int:b>', views.add2, name='add2'),
path('add2_v2/<int:a>/<int:b>', views.add2_v2, name='add2_v2'),
path('admin/', admin.site.urls),
]
home.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>home</title>
</head>
<body>
<!-- url写死 -->
{#<a href="/add2/2/3">add 2+3 </a>#}
<!-- url写活 最终解析/add2/4/5 -->
<a href="{% url 'add2' 4 5 %}">add2 4+5 </a> <br>
<a href="{% url 'add2_v2' 4 5 %}">add2_v2 4+5 </a>
</body>
</html>
[py]django url 参数/reverse和HttpResponseRedirect的更多相关文章
- django URL参数在view中传递和Template的反向解析方式
一. URL参数在view中传递 1.带参数名:通过named group方式传递指定参数,语法为: (?P<name>pattern), name 为传递参数的名称,pattern代表所 ...
- django额外参数的传递和url命名
django额外参数的传递 path方法:path(route, view, kwargs=None, name=None) path方法可以传递入一个额外参数的字典参数(kwarg),字典里的值就会 ...
- Python自动化之django URL
URL url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail) 会把(?P\d+)和(?P\d+)传到后台 需 ...
- Django URL name详解
我们基于上一节的代码来开始这一节的内容. 上节源代码:zqxt_views(django 1.4 - django 1.10).zip [更新于 2016-09-06 00:13:23] 1. 打开 ...
- django——url(路由)配置
URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除此之外的任何URL都不被 ...
- Django UrL 解析
Django的路由系统 URLconf 本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.1 djan ...
- Django url处理
Django如何处理一个请求当一个用户请求Django 站点的一个页面,下面是Django 系统决定执行哪个Python 代码遵循的算法:1:Django 决定要使用的根URLconf 模块.通常,这 ...
- Django url()函数详解
url()函数看起来的格式象: url(r^/account/$', views.index, name=index) ,它可以接收四个参数,分别是两个必选参数: regex . view 和两个可选 ...
- django url调度
Django的url配置相同遵循着DRY(dont repeat yourself)的规则.下面都是官方文档的样例: 首先介绍的是Django怎样处理http的请求: 1.在setting里定义ROO ...
随机推荐
- 使用kendynet编写网关服务
网游服务器大多提供了网关服务,用于作为用户和内部服务器组之间通信代理.网关服务一方面将用户消息从客户端分发到正确的内部服务器. 另一方面将来自内部服务器的数据包转发给客户端.一般对于网关应用来说,压力 ...
- python错误 ImportError: No module named setuptools 解决方法[转]
在python运行过程中出现如下错误: python错误:ImportError: No module named setuptools这句错误提示的表面意思是:没有setuptools的模块,说明p ...
- C++ sort函数用法 C中的qsort
需要包含#include <algorithm>MSDN中的定义: template<class RanIt> void sort(RanIt first, RanIt ...
- scanf printf sprintf fprintf
都是C语言中的函数,但C++保留了这些函数,在头文件iostream中声明了. 1 scanf(格式控制,输出列表) printf (格式控制,输出列表) 举例: #include <iostr ...
- 解决Win7启动时出现“windows未能启动。原因可能是最近更改了硬件或软件”的问题
昨天公司终于大发慈悲,统一更换电脑配置,终于要摆脱“手扶拖拉机”的时代了,赶上“动车时代”了.不过不想换硬盘,因为重新要安装太多东西,环境配置一大堆,所以就硬盘没有换,不过当我开机启动的时候,悲剧发生 ...
- angularjs结合html5的拖拽行为
闲聊: 小颖公司的项目之前要实现一个将左侧树中当前拖拽的内容,动态添加到右侧树种,虽然这个模块当时没有分给小颖,是同事完成的(小颖也不会嘻嘻),后来看了下他写代码,小颖自己写了个小demo.就当做个笔 ...
- Visual Studio 2013安装Update 3启动crash的解决方法
Visual Studio 2013安装完Update 3后启动立刻crash,异常信息为: System.InvalidOperationException was unhandled Messag ...
- 如何在Computer下添加System Folder
1.创建一个GUID标识该系统目录,比如:{7854FF7A-470F-4D04-9FC5-4CFC7B2A0E89}.下面的操作步骤将全部使用这个示例GUID. 2.打开注册表编辑器(Registr ...
- 【JSP】JSP指令
JSP指令 说明: 1.JSP指令用于告知JSP 引擎转译JSP时的转化参数,他们不产生输出信息,只是在JSP的转译和编译期间起作用. 2.JSP指令必须写在规定的格式中: <%@ [go ...
- Unity3D笔记 切水果三 切水果
一.创建一个Apple00,拖拽Prfabs下的Sprite命名为Apple00,添加碰撞器Box Collider,编写代码Knife Rey1.js 二.做被切的苹果 步骤和一是一样的,但是被切的 ...