文档章节

web.py开发web 第一章 Hello World

桶装更尽兴
 桶装更尽兴
发布于 2013/04/06 12:29
字数 525
阅读 1661
收藏 18

前言    

    这一系列的文章主要针对使用web.py+jinja2+sqlalchemy+formalchemy+jquery+knockout从基础到整站开发的讲解,如需对其中各个使用到的框架或模块进行了解,请google相对应的文档。

    下面先对使用到的框架或模块一一进行简单的介绍:

  1. web.py,一个python web框架,非常简洁实用,虽然没有django的诸多强大功能,但其简洁就是最强大的地方了,simple is better!
  2. jinja2,python中一个很流行的模板框架,用了它,写模板就是如此的享受。
  3. sqlalchemy,python最强大的orm,没有之一,掌握了它,数据库?so easy!(我还会回来嗒~)
  4. formalchemy,配套sqlalchemy的表单框架,可以根据sqlalchemy中数据表的定义生成html表单,还在写input么?你out了!
  5. jquery,这个我想我就不用介绍了吧...
  6. knockout,这是一个mvvm框架,写复杂ui就是如此洒脱.

正文

    OK,web开发下需要用的工具都有了,剩下的就是怎么把这些强大的工具应用到我们的开发中了。如同很多的编程语言教程一样,我们先从Hello World开始,首先是最简单的输出"Hello World"页面。

main.py

#-*- coding:utf-8 -*-
import web

#定义url,将地址映射到对应的类
urls = (
    "/", "index",
)

app = web.application(urls, globals())

#定义index类
class index:
    #get请求
    def GET(self):
        return "Hello World"

if __name__ == "__main__":
    app.run()

    然后在你的命令行下,运行"python main.py",接着在浏览器输入地址"http://127.0.0.1/"就可以看到Hello World的字样了。

    web.py使用了类来写视图,这是一个非常赞的设计,这样我们可以通过定义基类来实现很多功能,例如在视图开始前自动检查用户权限,将一些常用的方法写成基类方法,就能很方便的进行调用,甚至在一些特殊需求下,可以通过一个类视图,来衍生出很多页面,既提高了开发速度,也提高了可维护性

© 著作权归作者所有

共有 人打赏支持
桶装更尽兴
粉丝 36
博文 15
码字总数 9695
作品 0
汕头
程序员
web.py开发web 第二章 Hello World(Jinja2)

这一章还是用Hello World做例子,不过引入jinja2来作为模板并输出。 先来介绍使用jinja2的步骤,web.py是可以兼容使用jinja2的,首先在第一章的基础上,与main.py同级添加目录templates,用于...

桶装更尽兴
2013/04/06
0
5
Go语言的Web开发框架--Web.Go

Web.Go 跟 web.py 类似,但使用的是 Go 编程语言实现的 Web 应用开发框架。 安装方法: 示例代码: 编译方法:8g hello.go && 8l -o hello hello.8 && ./hello 测试方法:http://localhost:...

匿名
2011/02/25
18.6K
2
Web.py 初探:安装与HelloWorld

1、web.py简介 web.py是一个基于Python,简单而又强大的开源Web框架。 由于自己总是对轻量级的东西比较偏爱。因此选择了web.py来学习Web开发。目前关于web.py的相关资料比较少(甚至连Wikip...

鉴客
2011/09/19
6.9K
1
简单而直接的Python web 框架:web.py

web.py 是一个Python 的web 框架,它简单而且功能强大。web.py 是公开的,无论用于什么用途都是没有限制的。 先让大家感受一下web.py 的简单而强大: import web urls = ( '/(.*)', 'hello'...

小编辑
2010/03/21
58.7K
8
请教一个web.py的基础问题。。。。。。。。。。。。。。。。。。。。。。。。。。。

出现一个问题,我用的是python2.6,web.py-0.37 按照hello world的方法输入后,在网页地址栏输入127.0.0.1:8080,结果那个hello world出现在python idle里,而网页里只有一个none,请问这是怎...

KTC
2014/05/01
228
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
5分钟前
0
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
20分钟前
1
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
44分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部