简化了Web开发。支持Python3的MVC框架。

giotto的Python项目详细描述


乔托是什么?

giotto是一个python web框架。它鼓励一种功能样式,其中模型、视图和控制器代码是强解耦的。

Giotto的主要功能包括:

  • 非常简洁的代码。一个功能齐全的博客应用程序不到300行代码(包括模板)
  • 通用视图、通用模型和多个可插拔控制器。
  • 免费的restful界面,以及您的正常“browser post”crud站点。
  • 不需要django样式表单对象的功能crud模式。
  • 自动URL路由。
  • 内置缓存(支持redis和memcache,以及支持任何其他引擎的api)
  • 数据库持久性的sqlalchemy。
  • 用于HTML模板的Jinja2(带有用于扩展其他模板引擎的API)

开始

安装并创建基本项目文件:

pip install giotto
mkdir demo
giotto create http

现在您的项目已初始化。打开manifest.py并添加以下内容:

from giotto.programs import ProgramManifest, GiottoProgram
from giotto.views import jinja_template, BasicView

def multiply(x, y):
    x = int(x or 0)
    y = int(y or y)
    return {'x': x, 'y': y, 'result': x * y}

manifest = ProgramManifest({
    'multiply': GiottoProgram(
        model=[multiply],
        view=BasicView(
            html=jinja_template('multiply.html'),
        ),
    ),
})

现在创建一个名为multiply.html

<!DOCTYPE html>
<html>
    <body>
        {{ data.x }} * {{ data.y }} == <strong>{{ data.result }}</strong>
    </body>
</html>

或者如果你懒得做模板, 将view关键字参数设置为仅BasicView(),以使用泛型视图。

运行开发服务器:

$ giotto http --run

将浏览器指向http://localhost:5000/multiply?x=3&y=3。 另外,尝试http://localhost:5000/multiply.json?x=3&y=3。 您也可以通过命令行调用乘法程序:

$ giotto create cmd
$ giotto cmd multiply --x=4 --y=2

另外:

$ giotto cmd multiply.html --x=4 --y=2

也可以使用位置参数:

$ giotto cmd multiply/4/6

链接:

  • 要讨论giotto,请访问googleGroup
  • 阅读乔托的documentation
  • 查看giottoblog,这是一个使用giotto框架编写的功能齐全的博客应用程序。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java结合两个Date实例使用Joda创建datetime   带有POI和FileOutputStream的java Swing应用程序性能问题   Java中是否存在类似于Python的异常?   Java中有界通配符的泛型   使用字符和子字符串的java不同输出   在Java中获取LDAP模式   java自定义类在自身上生成ClassNotFoundException   java连接到从internet到通过LAN连接到internet的系统的serversocket   java如何通过maven在jaxws中使用jaxb插件?   java Kerberos如何获取主体或客户端名称?   java应用服务器中是否有JDBC的单点登录解决方案?   java是存储矩阵值以便以后访问的更好方法   Java等级计算器。开始这门课我需要一些帮助   未找到Android“libc++\u shared.so”中的java OpenCV实现   当我使用web配置部署描述符时使用java。xml。它显示了错误   java为什么我的ArrayList的add方法冲突,如何编辑我的自定义add方法   java创建一个以集合为键的映射?   java如何将用户输入到数字三角形中   为什么Java在读取LinkedHashMap时会自动从字符串转换为整数   类动态创建和读取java类