• 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/

  • 相关阅读:
    C#生成PDF总结
    Oracle删除当前用户下所有的表的方法
    C#操作oracle 到ExecuteNonQuery卡死不执行
    C#中事件的使用
    初探three.js光源
    d3.js 地铁轨道交通项目实战
    初探three.js
    d3.js 绘制北京市地铁线路状况图(部分)
    d3.js 共享交换平台demo
    d3.js 实现烟花鲜果
  • 原文地址:https://www.cnblogs.com/demo-deng/p/7776817.html
Copyright © 2020-2023  润新知