热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Django开发随笔(二)

Django与Flex.想要开发一个漂亮的网站,总要一些flash效果滴。这就涉及到django如何与flex打交道。基本的原理是利用pyamf这个中间件࿰

Django 与 Flex.

想要开发一个漂亮的网站,总要一些flash效果滴。这就涉及到django如何与flex打交道。基本的原理是利用pyamf这个中间件,把django里的request和flex里的actionscript 互相转化。

1. 安装pyamf. 我使用的是0.6.1. 没说的,老方法,python manage.py install就安装好了。

2. django端(服务器端)创建方法:

  a. 创建amfgateway.py在你的工程根目录下

  b. 添加如下内容:

from pyamf.remoting.gateway.django import DjangoGateway

def say_hello(request, name):
return "hello : %s" % name

usersGateway
= DjangoGateway({
'my.sayHello':say_hello,
})

 注意里面的"my", 这会在后面的flex端使用。

  c. 修改你的urls.py,添加 (r'^my/gateway/', 'my.amfgateway.usersGateway'),

3. Flex端:

首先创建services-config.xml,添加如下内容:

xml version="1.0" encoding="UTF-8"?>
<services-config>
<services>
<service id&#61;"activeService" class&#61;"flex.messaging.services.RemotingService" messageTypes&#61;"flex.messaging.messages.RemotingMessage">
<destination id&#61;"my">
<channels>
<channel ref&#61;"myChannel"/>
channels>
<properties>
<source>*source>
properties>
destination>
service>
services>
<channels>
<channel-definition id&#61;"myChannel" class&#61;"mx.messaging.channels.AMFChannel">
<endpoint uri&#61;"http://127.0.0.1:8000/my/gateway/" class&#61;"flex.messaging.endpoints.AMFEndpoint"/>
channel-definition>
channels>
services-config>

注意destination 的 id属性必须与第二步的my相同。

3. Flex端写一个简单的测试&#xff1a;

xml version&#61;"1.0" encoding&#61;"utf-8"?>
<mx:Application xmlns:mx&#61;"http://www.adobe.com/2006/mxml"
layout
&#61;"absolute" initialize&#61;"init();" xmlns:s&#61;"library://ns.adobe.com/flex/spark">
<mx:Script>

import mx.controls.Alert;
import mx.rpc.AsyncResponder;
import mx.rpc.AsyncToken;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;

private function sayHello():void{
var token:AsyncToken &#61; djangoService.sayHello(&#39;Joe&#39;);
token.addResponder(new AsyncResponder(afterSayHello, falutHandler));
}
private function falutHandler(error:Object, token:Object&#61;null):void{
var evt:FaultEvent&#61;error as FaultEvent;
Alert.show(evt.message.toString());
}
private function afterSayHello(result:Object, token:Object&#61;null):void{
var evt:ResultEvent&#61;result as ResultEvent;
Alert.show(evt.result as String);
}

protected function button1_clickHandler(event:MouseEvent):void
{
sayHello();
}

]]>
mx:Script>

<mx:RemoteObject id&#61;"djangoService" destination&#61;"my"/>

<s:Button click&#61;"button1_clickHandler(event)" content&#61;"Click Me">
s:Button>

mx:Application>

试着运行一下&#xff1a;

2011040816204618.png

下一篇会写如何将写好的swf文件插入到html里。

转:https://www.cnblogs.com/joezhang/archive/2011/04/08/2009577.html



推荐阅读
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • Django + Ansible 主机管理(有源码)
    本文给大家介绍如何利用DjangoAnsible进行Web项目管理。Django介绍一个可以使Web开发工作愉快并且高效的Web开发框架,能够以最小的代价构建和维护高 ... [详细]
  • python3 logging
    python3logginghttps:docs.python.org3.5librarylogging.html,先3.5是因为我当前的python版本是3.5之所 ... [详细]
  • Request对象和Response对象request:(请求)当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpRequest对象。Djang ... [详细]
  • 【云计算】Dockerfile、镜像、容器快速入门 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
author-avatar
laknm_456
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有