django-admin.py startproject zqxt_views
cd zqxt_views
python manage.py startapp calc
1. 采用 /add/?a=4&b=5 这样GET方法进行
创建的项目结构
zqxt_views/
├── calc
│ ├── __init__.py
│ ├── admin.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
└── zqxt_views
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
2、我们修改一下 calc/views.py文件
from django.shortcuts import render
from django.http import HttpResponse
def add(request):
a = request.GET['a']
b = request.GET['b']
c = int(a)+int(b)
return HttpResponse(str(c))
#def add2(request, a, b):
# c = int(a) + int(b)
# return HttpResponse(str(c))
注:request.GET 类似于一个字典,更好的办法是用 request.GET.get('a', 0) 当没有传递 a 的时候默认 a 为 0
3、接着修改 zqxt_views/urls.py 文件,添加一个网址来对应我们刚才新建的视图函数。
cd zqxt_views
python manage.py startapp calc
1. 采用 /add/?a=4&b=5 这样GET方法进行
创建的项目结构
zqxt_views/
├── calc
│ ├── __init__.py
│ ├── admin.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
└── zqxt_views
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
2、我们修改一下 calc/views.py文件
from django.shortcuts import render
from django.http import HttpResponse
def add(request):
a = request.GET['a']
b = request.GET['b']
c = int(a)+int(b)
return HttpResponse(str(c))
#def add2(request, a, b):
# c = int(a) + int(b)
# return HttpResponse(str(c))
注:request.GET 类似于一个字典,更好的办法是用 request.GET.get('a', 0) 当没有传递 a 的时候默认 a 为 0
3、接着修改 zqxt_views/urls.py 文件,添加一个网址来对应我们刚才新建的视图函数。
1.10.5版本的写法
from django.conf.urls import url
from django.contrib import admin
from calc import views as calc_views
#from blog.views import index
from django.conf.urls import url
from django.contrib import admin
from calc import views as calc_views
#from blog.views import index
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^add/$', 'calc.views.add', name='add'),
#url(r'^add/(\d+)/(\d+)/$', calc_views.add2, name='add2'),
url(r'^index/$',index),
]
url(r'^admin/', admin.site.urls),
url(r'^add/$', 'calc.views.add', name='add'),
#url(r'^add/(\d+)/(\d+)/$', calc_views.add2, name='add2'),
url(r'^index/$',index),
]
from learn import views as learn_views
url(r'^$', learn_views.index),
4、我们打开开发服务器并访问
python manage.py runserver 8002 默认端口是 8000,上面使用了自定义端口 8002
http://127.0.0.1:8002/add/
这是因为我们并没有传值进去,我们在后面加上 ?a=4&b=5,即访问 http://127.0.0.1:8002/add/?a=4&b=5
我们可以看到网址中多了 (\d+), 正则表达式中 \d 代表一个数字,+ 代表一个或多个前面的字符,
写在一起 \d+ 就是一个或多个数字,用括号括起来的意思是保存为一个子组(更多知识请参见 Python 正则表达式),
每一个子组将作为一个参数,被 views.py 中的对应视图函数接收。
url(r'^$', learn_views.index),
4、我们打开开发服务器并访问
python manage.py runserver 8002 默认端口是 8000,上面使用了自定义端口 8002
http://127.0.0.1:8002/add/
这是因为我们并没有传值进去,我们在后面加上 ?a=4&b=5,即访问 http://127.0.0.1:8002/add/?a=4&b=5
我们可以看到网址中多了 (\d+), 正则表达式中 \d 代表一个数字,+ 代表一个或多个前面的字符,
写在一起 \d+ 就是一个或多个数字,用括号括起来的意思是保存为一个子组(更多知识请参见 Python 正则表达式),
每一个子组将作为一个参数,被 views.py 中的对应视图函数接收。