Django的视图与网址之加法计算

在最新的Django2.1中,views.py中采用的地址映射方式发生了变化,通过一个加法运算我们来看一看。

方法一:在视图views.py中定义视图逻辑,求解两个数的加法运算:c = a + b,定义一个add()函数

复制代码
 1 from django.shortcuts import render
 2 from django.http import HttpResponse
 3 from blog import models
 4 
 5 # 计算求和,网址示例:http://127.0.0.1:8000/add/?a=2&b=4
 6 def add(request):
 7     a = request.GET.get('a', 0)
 8     b = request.GET.get('b', 0)
 9     c = int(a) + int(b)
10     return HttpResponse(str(c))
复制代码

注:request.GET类似于一个字典,在此处使用request.GET.get('a', 0)表示在没有传递时,a的默认值是0

在urls.py中,进行地址映射

1 from django.contrib import admin
2 from django.urls import path
3 from blog import views
4 urlpatterns = [
5     path('admin/', admin.site.urls),
6     path('index/', views.index),
7     path('add/', views.add, name= 'add'),
8 ]

启动服务,在浏览器中,输入网址:http://127.0.0.1:8000/add/,默认输出值是0

 输入网址:http://127.0.0.1:8000/add/?a=3&b=4,输出值是7

 

方法二:采用正则的表示方法,Django2.1同Django.1.8.x版本不同,采用正则表达时要引入url,在views.py重新定义一个add2

复制代码
1 from django.shortcuts import render
2 from django.http import HttpResponse
3 from blog import models
4 # Create your views here.
5 
6 
7 def add2(request, a, b):
8     c = int(a) + int(b)
9     return HttpResponse(str(c))
复制代码

修改urls.py中的内容,引入:from django.conf.urls import url

复制代码
 1 from django.contrib import admin
 2 from django.urls import path
 3 from django.conf.urls import url
 4 from blog import views
 5 urlpatterns = [
 6     path('admin/', admin.site.urls),
 7     path('index/', views.index),
 8     path('add/', views.add, name= 'add'),
 9     url(r'add/(\d+)/(\d+)/', views.add2, name= 'add2'),  # 这里使用了正则表达式进行匹配
10 ]
复制代码

重启服务,输入网址:http://127.0.0.1:8000/add/3/4/

 

posted @   今夜无风  阅读(532)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示