Django开发之html交互
html中用户输入信息,由Django的view.py处理,大致用到了以下几类格式:
1. 文本框
<input type="text" name="vid" size="10" height="20">
或由bootcss修饰的
<div class="col-sm-2" >
<input type="text" class="form-control" id="username" name="username" placeholder="Username">
</div>
这种相对比较简单
version_num=request.GET.get("vid")
2. 文本框
<td width="30%" align="center" valign="top">粘帖需要发布的其他所有UI</td>
<td><textarea rows="10" cols="40" id="newui" name="newui" ></textarea></td>
这种要这样接收,返回结果是一个列表,相对比较好处理
otherNewUI=request.GET.get("newui").encode('utf8').split("\r\n")
'''return result like this:
[u'GameStub.swf.new', u'giftui.swf', u'zhuui2.swf']
'''
3. 多选按钮,返回值也是一个列表
<td width="30%" align="center" valign="top" >选择ini.xml中需要发布的ui</td>
<td>
<input type="checkbox" name="ui_list" value="GameStub.swf.new" />GameStub.swf.new<br />
<input type="checkbox" name="ui_list" value="giftui.swf" />giftui.swf<br />
<input type="checkbox" name="ui_list" value="zhuui2.swf" />zhuui2.swf<br />
<input type="checkbox" name="ui_list" value="vipui.swf" />vipui.swf<br />
<input type="checkbox" name="ui_list" value="giftboxui.swf" />giftboxui.swf<br />
<input type="checkbox" name="ui_list" value="baseui.swf" />baseui.swf<br />
<input type="checkbox" name="ui_list" value="xinshouui.swf" />xinshouui.swf<br />
<input type="checkbox" name="ui_list" value="buildingui.swf" />buildingui.swf<br />
<input type="checkbox" name="ui_list" value="jiuguanui.swf" />jiuguanui.swf<br />
</td>
newUiList=request.GET.getlist("ui_list")
'''return result like this:
[u'GameStub.swf.new', u'giftui.swf', u'zhuui2.swf']
'''
4. cookie用法
写cookie,并执行跳转
response=render_to_response('verIntegration/uiPrepare.html',{"current_version":current_version,"gameName":gameName})
response.set_cookie("game",game,600)
return response 读cookie,判断cookie是否失效
if "game" in request.COOKIES:
game=request.COOKIES["game"]
gameName=CONFIG[game]['name']
print "cookie still in "
else:
gameName="未知"
print "cookie has gone"
return render_to_response('verIntegration/uiPrepare.html',{"gameName":gameName})
5. pexpect方法执行交互式操作
def pullFile(gameConfig,remoteFileName,localFileName):
#使用目录均为相对路径,绝对路径从字典中读取
cmd="scp -P %s %s@%s:%s/%s %s/%s" % (gameConfig['port'],gameConfig['user'],gameConfig['ip'],gameConfig['remote_dir'],remoteFileName,gameConfig['local_dir'],localFileName)
expect1="password: "
child = pexpect.spawn(cmd)
child.expect(expect1)
child.sendline(gameConfig['password'])
child.read()
return None
6. pexpect远程执行脚本,这个可以参考pexpect的example中的hive.py
def remoteRun(gameConfig,cmd):
srv_ip=gameConfig['ip']
srv_port=gameConfig['port']
srv_username=gameConfig['user']
srv_password=gameConfig['password']
try:
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(srv_ip,srv_port,srv_username,srv_password,timeout=5)
stdin, stdout, stderr = ssh.exec_command(cmd) outlist=[]
for out in stdout:
outlist.append(out.strip('\n'))
except Exception,e:
print "Error"
print e
return None
Django开发之html交互的更多相关文章
- django开发之model篇-Field类型讲解
今天介绍一下django开发中,定义模型时用到的相关字段类型和字段选项. 先说说常用的字段类型:1) AutoField: 自增字段类型,当自定义自增类型的id时,可以使用此类型:2) BigAuto ...
- Django开发之module
1.首先需要安装你要使用的数据的python模块组件 2.需要新建一个app 切换到工程根目录下,然后执行django-admin.py startpapp firstModule 编辑first/s ...
- Django开发之ORM批量操作
版本 1 Python 3.8.2 2 Django 3.0.6 批量入库 场景: 前端页面通过 textarea 文本框提交一列多行数据到Django后台,后台通过ORM做入库操作 表名: Tabl ...
- Django开发之Ajax POST提交403报错
问题现象 Django开发时,前端post提交数据时,由于csrf机制,如果不做处理会报403报错 问题解决 通过在data字段中添加 csrfmiddlewaretoken: '{{ csrf_to ...
- Django开发之Ajax 返回内容报错
预期效果 Django通过Ajax POST提交数据,前台弹窗处理结果 粗略代码 # views.py 代码 ...省略... msg = { 'code': 200, 'message': 'Hel ...
- Django开发之Datetime类型JSON序列化时报错
前提回顾 在进行django开发view视图时,如果数据库字段是 datetime类型,在JSON序列化返回时,会出现异常 异常现象 TypeError: Object of type datetim ...
- django 开发之给admin 模块添加富文本编辑器
第一步下载kindeditor http://kindeditor.net/demo.php 下载下来后放到静态文件static 下面的js下面 接着在admin 模块文章类下引入这富文本编辑器: ...
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与j ...
- Android混合开发之WebView与Javascript交互
前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...
随机推荐
- 一种用XAML写Data Converter的方式
在WPF程序中,数据绑定是非常常用的手段.伴随着数据绑定,我们通常还需要编写一些Converter.而编写Converter是一件非常枯燥的事情,并且大量的converter不容易组织和维护. 今天在 ...
- DATASNAP数据序列之FIREDAC的TFDJSONDataSets
DATASNAP数据序列之FIREDAC的TFDJSONDataSets DELPHI XE5开始增加了新的数据引擎——FIREDAC,它是跨平台的数据引擎,WINDOWS.LINUX.MAC.APP ...
- 为什么输入shutdown -h -t会报错:command not fount
如果是直接用普通用户($)的身份进行输入[user@localhost ~]$ shutdown -h -t 是不能执行,因为普通用户没有关闭机器的权限. 然而直接使用[user@localhost ...
- 【转】javascript 的类,原型,继承的理解
原文: https://www.cnblogs.com/codernie/p/9098184.html ------------------------------------------------ ...
- iOS小技巧 - 如何使UIView可以绑定点击事件
让我们这次直接进入正题,有时候我们想做以下这种界面: 目前我就想到三种方案: 做一个tableview,然后组织cell的界面如上图所示 做一个button子类,使得button的界面能如上图所示 做 ...
- 甲骨文Java Archive
甲骨文Java Archive 甲骨文Java Archive提供自助下载访问我们的一些历史的Java版本. 警告: 这些旧版本的JRE和JDK来帮助开发人员提供了在旧系统调试问题. 他们没有更新最新 ...
- 11. 配置ContextPath【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/51637036 spring boot默认是/ ,这样直接通过http://ip:port/ ...
- iOS block用作属性封装代码
@property (copy, nonatomic) void (^actionBlock)(); @property (copy, nonatomic) void (^actionWithPapa ...
- Input.GetAxis 获取轴
static function GetAxis (axisName : string) : float Description描述 Returns the value of the virtual a ...
- selenium从入门到应用 - 2,简单线性脚本的编写
本系列所有代码 https://github.com/zhangting85/simpleWebtest 本文将介绍一个Java+TestNG+Maven+Selenium的web自动化测试脚本环境下 ...