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交互的更多相关文章

  1. django开发之model篇-Field类型讲解

    今天介绍一下django开发中,定义模型时用到的相关字段类型和字段选项. 先说说常用的字段类型:1) AutoField: 自增字段类型,当自定义自增类型的id时,可以使用此类型:2) BigAuto ...

  2. Django开发之module

    1.首先需要安装你要使用的数据的python模块组件 2.需要新建一个app 切换到工程根目录下,然后执行django-admin.py startpapp firstModule 编辑first/s ...

  3. Django开发之ORM批量操作

    版本 1 Python 3.8.2 2 Django 3.0.6 批量入库 场景: 前端页面通过 textarea 文本框提交一列多行数据到Django后台,后台通过ORM做入库操作 表名: Tabl ...

  4. Django开发之Ajax POST提交403报错

    问题现象 Django开发时,前端post提交数据时,由于csrf机制,如果不做处理会报403报错 问题解决 通过在data字段中添加 csrfmiddlewaretoken: '{{ csrf_to ...

  5. Django开发之Ajax 返回内容报错

    预期效果 Django通过Ajax POST提交数据,前台弹窗处理结果 粗略代码 # views.py 代码 ...省略... msg = { 'code': 200, 'message': 'Hel ...

  6. Django开发之Datetime类型JSON序列化时报错

    前提回顾 在进行django开发view视图时,如果数据库字段是 datetime类型,在JSON序列化返回时,会出现异常 异常现象 TypeError: Object of type datetim ...

  7. django 开发之给admin 模块添加富文本编辑器

    第一步下载kindeditor  http://kindeditor.net/demo.php 下载下来后放到静态文件static 下面的js下面 接着在admin 模块文章类下引入这富文本编辑器: ...

  8. Android混合开发之WebViewJavascriptBridge实现JS与java安全交互

    前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与j ...

  9. Android混合开发之WebView与Javascript交互

    前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...

随机推荐

  1. EditText中输入信息的限制的方法

    应用场景 在Android应用中有时需要EditText中只允许输入约定的一些字符,禁止输入其他字符.这里列举了一些可能的应用场景. 1. 场景一 在通讯录保存好友信息界面中填写好友的电话号码时,应当 ...

  2. 教育 z

    奥巴马母亲留给儿子的遗产,不是谎言,而是让反对派不敢戮辨的——伟大的人格及优秀! 相比于奥巴马的母亲,中国式父母,更愿意走省心的路子.给孩子最催肥的食物,最昂贵的衣物,最庸懒的生活环境,不让孩子做任何 ...

  3. 全民Scheme(1):数字游戏

    刚刚看到两句话,感觉不错,分享给大家: 1.用户的问题.就是我们的问题 2.做一些用户想要的东西 (define add1 (lambda (x) (+ 1 x))) (define sub1 (la ...

  4. 怎么运行Typescript

    依据官方示例: npm i -g typescript 示例:tsc *.ts 实例:tsc hello.ts 不过以上实现的太有限制了,如下实现可满足正常测试以及学习使用 package,json ...

  5. Import CSV into DB using SSIS

    Step 1: create a table CREATE TABLE [EmployeeImported]( ,) NOT NULL, [ContactID] [int] NOT NULL, [Ma ...

  6. HDU4674 Trip Advisor

    Problem Description There is a strange country somewhere which its transportation network was built ...

  7. JavaScript对象浅复制

    1.概述 Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target). 注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面 ...

  8. Nigix加入Hello World模块

    详细资料:<深入理解Nginx> 1.编写第三方模块 建立文件夹hello,里面有两个文件: ngx_http_mytest_module.c #include <ngx_confi ...

  9. 【DB2】根据映射表映射出结果

    第一步:创建语法 CREATE TABLE OLIVER_MAP(ID INT,COM_TYPE VARCHAR(100),COM_NAME VARCHAR(100),SR_UP DECIMAL(18 ...

  10. ubuntu下Tomcat绑定80端口

    转载自:https://www.2cto.com/os/201102/84081.html   工作环境迁移到了Ubuntu,很多东西发生了变化,比如原先配置tomcat端口.只需要配置server. ...