收藏 分享(赏)

python基础与django表单.ppt

上传人:hyngb9260 文档编号:4529567 上传时间:2019-01-02 格式:PPT 页数:22 大小:719KB
下载 相关 举报
python基础与django表单.ppt_第1页
第1页 / 共22页
python基础与django表单.ppt_第2页
第2页 / 共22页
python基础与django表单.ppt_第3页
第3页 / 共22页
python基础与django表单.ppt_第4页
第4页 / 共22页
python基础与django表单.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、,Python脚本编写与文件操作 Django框架里的简单表单,Python脚本编写与文件操作,一、Python的编码环境,1、使用带提示符的解释器 其特点是输入一句,执行一句。可以边输入,边查看结果,可以即时的查看输出。 适于调试,以及简单命令的编写。不适于“大程序”的编写。,一、Python的编码环境,2、使用编辑器编辑代码 优点可以提供语法高亮,错误检查,进行更好的调试,从而编写更加复杂的程序。 python有多种编辑器可用来进行代码编写,其自带有一个IDLE开发环境,同时,有多个第三方提供的IDE(集成开发环境)可供选择。,一、Python的编码环境,3、使用IDE编写代码 要注意的是

2、: 符合变量命名规则 符合python的缩进规则 符合包的正确导入规则 符合。,用编辑器编辑代码并运行,将代码重用-让自己的代码成为模块,创建一个名为myfib.py的文件,里边的内容为计算菲波数列第n项值的函数,用两种方法,一种使用递归的方法,一种使用变量存储的方法: def fib(n):if n3:return 1else:return fib(n-1)+fib(n-2) def fib2(n):a=0b=1while n:a,b=b,a+bn-=1return a,将代码重用-让自己的代码成为模块,将myfib.py保存,并新建一个tmp.py文件(注意将myfib.py 与tmp.p

3、y保存至同一个文件夹里)而后输入下边的代码按f5运行: from myfib import fib,fib2 import timect=time.time() for i in range(1,40):print “%3d %10d “ %(i,fib2(i) print time.time()-ct ct=time.time() for i in range(1,40):print “%3d %10d“ %(i,fib(i) print time.time()-ct,文件里数据的操作,打开文件 f=open(path,mode) 读文件:f.read(length) #读取长度 f.rea

4、dline()读取一整行 关闭文件f.close() 进行试验。,book.key文件格式,此文件为文本文件第一行为标识接下来每八行为一个数据段,其中的第一行为块的标识,接下来七行,前六行每行20个数据,第七行八个数据,这七行128个数据为一个矢量。,在命令行里的试验, f=open(book.key) f.readline() 882 128n f.readline() 138.42 44.74 17.49 0.159n f.readline() 7 0 0 0 0 0 0 0 116 1 0 0 3 4 13 66 13 0 0 11n f.readline().split() 82, 6

5、2, 27, 31, 2, 2, 1, 7, 41, 43, 16, 7, 38, 2, 0, 0, 0, 0, 0, 0 int(i) for i in f.readline().split() 150, 14, 3, 2, 14, 9, 1, 43, 44, 4, 7, 35, 150, 81, 3, 19, 14, 17, 7, 17,目标:解析book.key文件,计算矢量间的距离,创建一个parsekey.py文件,并在里边输入: def parsekeyfile(filepath):res=f=open(filepath)for i in range(int(f.readline(

6、).split()0):tres=for j in range(8):tres.extend(float(i) for i in f.readline().split()res.append(tres)return res def vectorlength(siftvector):v=map(lambda x:x*2,siftvector4:)return sum(v)*0.5 def siftdistence(sv1,sv2):q=map(lambda x,y:(x-y)*2,sv14:, sv24:)return sum(q)*0.5 def siftdistencematrix(sv1s

7、,sv2s):res=for rv in sv1s:rd=for cv in sv2s:rd.append(siftdistence(rv,cv)res.append(rd)return res 进行一些示例的演示,Django框架里的表单(一),HTML表单,HTML 表单用于搜集不同类型的用户输入。1 从Google的简朴的单个搜索框,到常见的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的支柱。 本章介绍如何用Django对用户通过表单提交的数据进行访问、有效性检查以及其它处理。 与此同时,我们将介绍HttpRequest对象和Form对象。,一个表单的

8、例子,HTML表单的编写,add plant中文名称: 英文名称: 界: 门: 纲: 目: 科: 属: 形态特征: 分布: 用途: ,加入到app中,1、修改afplt里的urls.py加入:url(addplant/$,addplant), 2、修改afplt里的views.py加入addplant函数,def addplant(request):from models import Plantspeciesc = c.update(csrf(request)if request.method = POST:cnname=request.POST.get(cnname)enname=requ

9、est.POST.get(enname)jie=request.POST.get(jie)meng=request.POST.get(meng)gang=request.POST.get(gang)mu=request.POST.get(mu)ke=request.POST.get(ke)shu=request.POST.get(shu)shp=request.POST.get(shp)dis=request.POST.get(dis)useage=request.POST.get(useage)species=Plantspecies(cnname=cnname,enname=enname,

10、jie=jie,meng=meng,gang=gang,mu=mu,ke=ke,shu=shu,shp=shp,dis=dis,useage=useage)species.save()print str(species)return HttpResponse(save OK)return render_to_response(addplant.html,c),当将其加入路径后,提交表单会出错,解决办法,参见:https:/ 1、在setting里边的MIDDLEWARE_CLASSES加上django.middleware.csrf.CsrfViewMiddleware2、在views里导入 from django.core.context_processors import csrf 3、在具体的函数里使用 c = c.update(csrf(request) 4、修改模板html的form。% csrf_token %,Thank You!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Python

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报