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 %[email protected]%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
时间: 2025-01-08 16:35:06

Django开发之html交互的相关文章

Django开发之module

1.首先需要安装你要使用的数据的python模块组件 2.需要新建一个app 切换到工程根目录下,然后执行django-admin.py startpapp firstModule 编辑first/setting.py,在INSTALLED_APPS数组里面加上'firstModule', 编辑first/setting.py,找到DATABASES,添加如下: INSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.au

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

第一步下载kindeditor  http://kindeditor.net/demo.php 下载下来后放到静态文件static 下面的js下面 接着在admin 模块文章类下引入这富文本编辑器: class ArticleAdmin(admin.ModelAdmin): 下面 接着添加一个文件名字为config.js  添加一些配置

Android开发之UI更新交互机制与实例解析

android开发过程中,经常需要更新UI的状态和文案等.这是就需要对UI进行 更新.在android中更新UI一般有三种方法,handler机制.RunOnUiThread方法以及AsyncTask异步类方法等 本文下面就这三种方法进行了演示和代码实现. a.Handler机制通过使用消息机制来实现 b.RunOnUiThread方法是通过运行UI线程来达到更新UI的目的 c.AsyncTask是异步类,通过异步更新来更新UI 效果图如下:           (1)Java功能实现代码如下:

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

前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与java互相调用的需求.它就是WebViewJavascriptBridge. 学习动机: 先看下之前的解决办法:Android混合开发之WebView与Javascript交互 最近棒棒安全的一个市场推广来我们公司推广他们的产品,当时也没太引起我的注意,后来这个市场推广人员把我们的app的进行了他们

测试开发之Django——No4.Django中前端框架的配置与添加

我们在开发一个web项目的时候,虽然我们不是专业开发,但是我们也想要做出来一个美美的前端页面. 这种时候,百度上铺天盖地的前端框架就是我们的最好选择了. 当然,在网上直接下载的框架,我们是不能直接用的,所以本篇介绍一下我们怎么样来修改这个模板 首先,我们先下载一个免费的模板. 我们可以看到他的目录结构,用浏览器打开index.html文件之后可以看到模板的样式. 这样我们就可以想要哪个地方,复制哪个地方,到我们的代码里面了.给我们节省了很多编写前端的时间. 那么我们来看一下这个模板我们要怎么去做

iOS开发之WKWebView简单使用和常用使用场景

iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版.本着对新事物的好奇,就上网查了一下,但是找了好多个都没说的多了详细,于是就问谷歌,找文档,看看使用方法,试用了一下,果然不错,记录下来,大家分享! WKWebView的特点: 性能高,稳定性好,占用的内存比较小, 支持JS交互 支持HTML5 新特性 可以添加进度条(然并卵,不好用,还是习惯第三方的). 支持内建手势, 据说高达60fps的刷

ArcEngine开发之Command控件使用篇

转自原文 ArcEngine开发之Command控件使用篇 在ArcEngine类库中有大量的Command控件用来与地图控件进行操作和交互.比如有一系列的地图浏览控件.地图查询控件.图斑选取控件.编辑控件来与MapControl和PageLayoutControl进行交互.这些控件被包含在ESRI.ArcGIS.Controls.dll类库中,位于ESRI.ArcGIS.Controls命名空间下. 这些内置的Command控件可以单独实例化来使用,也可以被安置在一个AxToolbarCont

谷歌插件Image downloader开发之popup

Image downloader的交互逻辑是这样的:用户点击Image downloader的图标,会向页面(content script,见上一篇文章:谷歌插件Image downloader开发之 content script)发送收集图片事件,页面收集完图片后,将对应的图片地址数组发送给popup页处理.popup页就是点击谷歌插件图标所弹出来的页面.Image downloader的popup页是长成这样的: popup页包含的功能 popup页采用了vue1.0来做数据绑定,主要包含了

基于xmpp openfire smack开发之Android客户端开发[3]

在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前两篇的文章 基于xmpp openfire smack开发之openfire介绍和部署[1] 基于xmpp openfire smack开发之smack类库介绍和使用[2] 1.源码结构介绍 activity包下存放一些android页面交互相关的控制程序,还有一个些公共帮助类 db包为sqlite