使用karloop开发一个媒体网站的demo

大家好,今天为大家介绍一款非常轻量级的的web开发框架,karloop框架。使用python开发

首先我们下载karloop源码进行安装。

源码地址

下载成功后解压,进入解压后的路径,进入终端,运行命令:sudo python setup.py install

如果是window系统,则打开cmd,运行:python setup.py install

我们按照如下路径创建一个项目:

├── base.py

├── config.py

├── handlers

│   ├── __init__.py

│   ├── handlers.py

│   └── pages.py

├── index.py

├── static

│   ├── js

│   │   ├── jquery-1.11.3.js

│   │   └── request.js

│   └── media

│       ├── 1.mp3

│       ├── 1.mp4

│       ├── 2.mp3

│       ├── 3.mp3

│       ├── 4.mp3

│       └── 5.mp3

└── template

├── main.html

└── media_list.html

首先我们来写一个base.py,所有的handler都可以继承,代码如下:

# coding=utf-8

__author__ = 'karl'

import json
from karloop.KarlBaseResponse import BaseResponse

class BaseHandler(BaseResponse):
    def response_as_json(self, body):
        self.set_header('application/json; charset="utf-8"')
        response_data = json.dumps(body)
        return self.response(response_data)

然后写config.py,代码如下:

# coding=utf-8

__author__ = 'karl'

import os

settings = {
    "static": os.path.join(os.path.dirname(__file__), "static/"),
    "template": os.path.join(os.path.dirname(__file__), "template/"),
    "cookie_code": "85701729"
}

再来个index.py

# coding=utf-8

__author__ = 'karl'

from config import settings
from karloop.KarlBaseApplication import BaseApplication
from handlers.pages import MainPage, MediaPage
from handlers.handlers import ListAllMediaHandler
from karloop.parse_command import parse_command_line

handlers = {
    "/main": MainPage,
    "/media": ListAllMediaHandler,
    "/media_page": MediaPage
}

class MediaWebApplication(BaseApplication):
    def __init__(self):
        super(MediaWebApplication, self).__init__(
            handlers=handlers,
            settings=settings
        )

if __name__ == '__main__':
    media_web_application = MediaWebApplication()
    parse_command_line(application=media_web_application, default=8888)
    media_web_application.run()

上handlers.py的代码:

# coding=utf-8

__author__ = 'karl'

from base import BaseHandler

class ListAllMediaHandler(BaseHandler):
    def get(self):
        extension = self.get_argument("extension", "")
        if not extension:
            return self.response_as_json(
                {
                    "error": "no valid parameter"
                }
            )
        extension = extension.lower()
        media_dict = {
            "mp3": ["1.mp3", "2.mp3", "3.mp3", "4.mp3", "5.mp3"],
            "mp4": ["1.mp4", "2.mp4", "3.mp4"]
        }
        if extension not in media_dict.keys():
            return self.response_as_json(
                {
                    "error": "no data"
                }
            )
        response_data = media_dict[extension]
        return self.response_as_json(response_data)

pages.py的代码

# coding=utf-8

__author__ = 'karl'

from karloop.KarlBaseResponse import BaseResponse

class MainPage(BaseResponse):
    def get(self):
        dictionary = {
            "title": "Main Page"
        }
        main_string = "Welcome!"
        test_list = ["This is a demo.", "Developed use karloop."]
        return self.render(
            "main.html",
            {
                "test_dic": dictionary,
                "test_string": main_string,
                "test_list": test_list
            }
        )

class MediaPage(BaseResponse):
    def get(self):
        return self.render("media_list.html")

整个项目的python 代码就这些,总体很简单,毕竟只是一个demo吗,项目的代码下载地址:点击

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 14:17:54

使用karloop开发一个媒体网站的demo的相关文章

c#开发的媒体播放器

在Microsoft Visual C# .NET 中使用 DirectShow 控件,来开发一个媒体播放器.按照本文介绍的操作步骤,您可以创建一个简单 Visual C# 应用程序,用来播放数字音频和视频. 介绍 Microsoft Visual C# 是世界上最流行的编程语言,利用 Visual C# 的最新版本 Visual C# .NET,您能够快速.有效地开发基于 Windows 窗体的应用程序,还可以为嵌入了 Microsoft Windows Media? Player 9 Ser

开发一个基于IIS服务器的web网站

新建一个基于IIS服务器的网站,这也是我参加工作开发的第一个网站 宏优信息技术上海有线公司的网站基于window server服务器的IIS服务,服务器放在美国,是一个典型的基于HTML.CSS和javascripts的web前台网站,该网站首页包括了五个导航栏和一个StellarServices网站链接,四张图片分别代表教育.医疗.金融.汽车四大行业 学习web前台可参考http://www.w3school.com.cn

如何开发一个网站

希望本篇文章对入门的朋友有所帮助 那么我写这篇文章的目的也就达到了 如何开发一个网站? 开发语言不是问题 今天我们就以php为基础展开. 一.开发环境:我们熟悉的lamp是当前的流行架构 即 LINUX+APACHE+MYSQL+PHP 入门的朋友把主要精力放在php与mysql上即可. 对于php需要掌握的:基础语法 -----> 函数----->正则--------> 数组(数组我想特别强调一下 数组是很常用的很重要一定要打好基础 特别注意多维数组的使    用)--------&g

如何快速开发一个漂亮的网站?包括前端的设计,css布局等

如何快速开发一个漂亮的网站?包括前端的设计,css布局等 网站开发看起来简单,但是做起来很乱,对于个人来说尤其如此.比如,需要ps,css,html,js,java等知识,有什么好的办法,可以快速的开发一个网站的前端? 如今有很多快速开发平台:图形化可视化操作,所见即所得:通过拖拉即可完成表单.流程.报表页面的设计:用户通过编写JS文件,调用封装的单据的保存.查询.删除等方法,即可完成页面的功能设计: 平台工具设计的所有的页面发布后,将生成HTML格式的源码文件,WEB系统采用HTML伪静态技术

使用jQuery图表插件Sparklines来开发一个实用的网站PV(page view)实时监控应用

原文链接:http://www.gbtags.com/gb/share/5820.htm 在线演示 PS:数据有变动.大家看个原理就okay了~ jQuery sparklines是一个jQuery的图表插件,可以帮助你快速构建行内的小图表,今天我们将使用Sparklines开发一个动态监视首页PV变化的应用.希望大家能喜欢,并且多多留言!请点击演示中的"Click ME!!!",查看动态PV变化效果. 如果你不知道什么是jQuery sparklines,请查看如下资源: jQuer

php怎么做网站?如何用PHP开发一个完整的网站?

1.PHPer应具备的知识 (1)PHP知识: 熟练掌握基础函数,PHP语句(条件.循环),数组(排序.读取),函数(内部 构造),运算(数学 逻辑),面向对象(继承 接口 封装 多态静态属性)等. 了解Cookie或者Session一种机制 了解一种模板操作机制和使用 手头收藏一些好的常用类或方法,能提高我们的开发的速度.如:分页.上传.字符过滤.数据库操作.生成HTML.文件操作等. (2)HTML知识 (3)JavaScript事件处理 (4)数据库知识:SQL语句"增删改查"

Node教程-HTTP协议,开发一个简单的静态网站

明确目标: 我们要开发一个静态的网站,下面就是它的网站首页 四.做一些开发前的知识储备 重要!:在js中的事件监听一般都是这样的格式 obj.on(event,callback) 表示的意思是:我们的对象正在监听event事件的发生,一旦发生了 我们有一个处理函数(回调函数callback)去处理它 (一). 有关于服务器嗨哟客户端之间的通信 这个非常的重要,你要知道所有的app之间是要建立起通信的,要不然你只是一个单机的版本,这就没什么意思了,只有联网,才能让你的应用更加的出色 开发网站服务器

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

【如何快速的开发一个完整的iOS直播app】(原理篇)

一.个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的. 直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程. 二.了解直播 热门直播产品 映客,斗鱼,熊猫,虎牙,花椒等等 直播效果图 直播效果.jpeg 1.一个完整直播ap