2django 视图与网址进阶
一、在网页中做加减法
采用/add/?a=11&b=22这样get方法进行
django-admin.py startproject zqxt_views
cd zqxt_views
python manage.py startapp calc
我们修改一下视图文件views.py
from django.shortcuts import render
from django.http import HttpReponse def add(request):
a=request.GET['a']
b=request.GET['b']
c=int(a)+int(b)
return HttpResponse(str(c))
注:request.GET 类似于一个字典,更好的办法是用 request.GET.get('a', 0) 当没有传递 a 的时候默认 a 为 0
接着修改urls.py文件,添加一个网址来对应我们刚才新建的视图函数
from django.conf.urls import url
from django.contrib import admin
from calc import views as calc_views urlpatterns=[
url(r'^add/$',calc_views.add,name='add'),
url(r'^admin/',admin.site.urls),
]
启动服务python manage.py runserver 8002
打开网址http://127.0.0.1:8002/add/
报错因为没有传值
改下网址 ?a=4&b=5,即访问 http://127.0.0.1:8002/add/?a=4&b=5
在网页上显示一个9,试着改变a和b对应的值,得到不同的结果
2、采用/add/3/4这样的网址和方式
前面说过django支持优雅的网址
我们接着修改views.py文件,再新定义一个add2函数
def add2(request, a, b):
c = int(a) + int(b)
return HttpResponse(str(c))
接着修改urls.py文件,再添加一个新的url
url(r'^add/(\d+)/(\d+)/$',calc_views.add2,name='add2'),
我们可以看到网址中多了 (\d+), 正则表达式中 \d 代表一个数字,+ 代表一个或多个前面的字符,写在一起 \d+ 就是一个或多个数字,用括号括起来的意思是保存为一个子组(更多知识请参见 Python 正则表达式),每一个子组将作为一个参数,被 views.py 中的对应视图函数接收。
我们再访问 http://127.0.0.1:8002/add/4/5/ 就可以看到和刚才同样的效果,但是这回网址更优雅了
2django 视图与网址进阶的更多相关文章
- Django 视图与网址进阶
一 .在网页上做加减法 1. 采用 /add/?a=4&b=5 这样GET方法进行 1 2 3 django-admin.py startproject zqxt_views cd zqxt_ ...
- 【Django视图与网址进阶004】
一.在网页上做加减法 1. 采用 /add/?a=4&b=5 这样GET方法进行 django-admin.py startproject zqxt_views cd zqxt_views p ...
- 1.2、Django 视图与网址__进阶
Django 视图与网址进阶 1.1.简单使用: 把我们新定义的app加到settings.py中的INSTALL_APPS中 修改 HelloDjango/HelloDjango/settings. ...
- Django之路: 基本命令与网址进阶
一.Django 基本命令 温馨提示:如果你想学习Django,那么就请您从现在开始按照笔记记录一步一步的用手把代码敲出来,千万不要偷懒哦..... 1.创建一个Django project djan ...
- django 视图与网址
我是一个新手,内容粗糙,望大家多多指点.在这里我只是总结自身所学. 视图与网址 操作文件:urls.py.views.py urls.py 作用:用于处理前台的链接(如前台访问:127.0.0.1:8 ...
- Django视图与网址
Django中网址是写在 urls.py 文件中,用正则表达式对应 views.py 中的一个函数(或者generic类),我们用一个项目来演示. 下载本节所有源代码: 学习编程最好的办法就是动手敲代 ...
- Django web框架-----视图与网址的不同请求方式
在网页上做加减法 说明:mytestsite是django框架下的项目,quicktool是mytestsite项目中的应用 方式一:采用 /add/?a=1&b=4这种get方法进行 qu ...
- Django web框架-----win10搭建django2.1.7开发环境,定义简易视图及网址
① 安装Django 使用pip命令或者pycharm setting的project Interpreter工具添加安装 检查是否安装成功,以下命令无报错即成功: 查看安装的Django版本号的两种 ...
- Django的视图与网址之加法计算
在最新的Django2.1中,views.py中采用的地址映射方式发生了变化,通过一个加法运算我们来看一看. 方法一:在视图views.py中定义视图逻辑,求解两个数的加法运算:c = a + b,定 ...
随机推荐
- js:获得时间
<script type="text/javascript"> function bodyLoad() { var dateTime = new Date(); var ...
- Android下 调用原生相机拍照摄像
1 http://www.cnblogs.com/franksunny/archive/2011/11/17/2252926.html 2 http://www.cnblogs.com/vir56k/ ...
- RAD Studio XE8 技术研讨会讲义与范例程序下载
感谢各位程序猿亲临现场參加我们的公布会,现奉上会议当天的讲义与范例程序供大家參考: 2015/5/25~27北京.深圳 『RAD Studio XE8技术研讨会』 下载讲义:http://pan ...
- 解决长时间计划任务rsync同步进程数过多
用rsync同步远程服务器,由于设置的的同步间隔较短(5分钟),这样一旦网速问题导致5分钟内同步不完.就会倒是同步紊乱,导致系统中很多rsync进程(# ps -aux | grep rsync) ...
- sublime 插件篇
添加插件 进入https://packagecontrol.io/installation 找到 或者 直接复制 import urllib.request,os,hashlib; h = '6f ...
- laravel数据库——迁移
1.简介 迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和Laravel的结构构建器结对从而可以很容易地构建应用的数据库表结构. Laravel的Schema门面提 ...
- $on、$emit和$broadcast的使用
$emit只能向parent controller传递event与data( $emit(name, args) ) $broadcast只能向child controller传递event与data ...
- html+JS刷图实现视频效果
网页播放视频须要载入播放器,可是通过刷图也能实现视频播放的效果 JS中用到Z-index属性,记录一篇解说Z-index属性的博客的地址: http://www.cnblogs.com/gisdrea ...
- Google Code Jam 2014 资格赛:Problem B. Cookie Clicker Alpha
Introduction Cookie Clicker is a Javascript game by Orteil, where players click on a picture of a gi ...
- yaffs2在am335x上实施
一.yaffs2文件烧写(通过网口) uboot下输入如下命令: setenv ipaddr 192.168.2.110;setenv serverip 192.168.2.222;saveenv n ...