Django的视图与网址之加法计算
2023-09-11 14:17:15 时间
在最新的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/
相关文章
- 使用Django,Prometheus,和Kubernetes定制应用指标
- Ubuntu16.04下Django项目的部署
- 第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能
- django.db.utils.OperationalError: 1050解决方案
- django基于存储在前端的token用户认证
- [Django] Start a new django project
- django 中进程监控工具flower的使用
- django框架进阶-auth认证系统-长期维护
- 【django】Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
- Django管理工具django-admin.py创建项目
- Python Django session存取值代码演示及jsonpickle序列化
- Django之django-redis对数据进行简单缓存
- Django 模板 自定义context_processors
- Django(8)-设计模式
- Django如何实现排列输出
- Django实战之美化页面
- Django Model 自动生成 E-R 图