今天是二零一伍年九月一日。
1、在django模块中,我们新建一个app以后,比如我们上次使用的sina里的views.py,其实是一个视图文件,比如我们上次编写的函数index,其实是一个视图函数。今天写了一个通过get方法获得参数的加法网页,代码如下:
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def add (request):
a = request.GET['a']
b = request.GET['b']
c = int(a) + int (b)
return HttpResponse(str(c))
get型变量都是以字符串的形式传入的,而且HttpResponse也要以字符串的形式输出。然后将网址与我们的视图函数捆绑:(在urls.py中)
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^add/$' , 'calc.views.add' , name = 'add' ) ,
]
运行服务器,然后访问这个网页就可以了。http://127.0.0.1:8000/add/?a=4&b=5
但有时候,get的获取方式未免也显得太嚣张,只有百度这种网站才用“www.baidu.com/s?world=伍花花”的方式访问网页。
我们把我们的两个文件修改成这样:
def add (request , a , b):
c = int(a) + int (b)
return HttpResponse(str(c))
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^add/(\d+)/(\d+)/$' , 'calc.views.add' , name = 'add' ) ,
]
那么我就可以用更加优雅一点的方式访问这个网页了http://127.0.0.1:8000/add/4/5/
然而我们平时的各个网站,其实还是在大量使用get参数法。因为get参数对服务器的压力比较小。
GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
3、幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。
幂等有以下几种定义:
对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。 比如绝对值运算就是一个例子,在实数集中,有abs(a) = abs(abs(a)) 。
对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在实数集中幂等,即max(x,x) = x 。