• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

uliweb: uliweb是python web framework。

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

uliweb

开源软件地址:

https://gitee.com/limodou/uliweb

开源软件介绍:

LOGO

Uliweb Introduction

Join the chat at https://gitter.im/limodou/uliweb

Limodou [email protected]

About Uliweb

Uliweb is a full-stacked Python based web framework. It has three main designgoals, they are: reusability, configurability, and replaceability. All thefunctionalities revolve around these goals.

This project was created and lead by Limodou mailto:[email protected].

License

Uliweb is released under BSD license.

Infrastructure

Uliweb was not created totally from scratch. It uses some modules created byother developers, for example:

  • Werkzeug Used to handle core processes in the framework.For example: URL Mapping, Debug, Request, Response, etc.
  • SqlAlchemy The ORM based on it. Developers can accessdatabases, or use the module separately.

I also referenced some code from other web frameworks, for example:

  • The Templating system is modified from tornado.
  • Some code inspired from Django.

I also constructed a few new "wheels" myself. For example:

  • Form processing module. Developers can use it to create HTML code, validate submitted data andconvert submitted data to Python data types.
  • I18n processing including template support, language lazy process.
  • Cache & Session modules.
  • Uliorm, which is an ORM module, was built on top of SqlAlchemy. I also referenced fromGAE datastore module.
  • Framework runtime process.
  • Plugin mechanism, styled after the one used in the UliPad project.

Features

  • Project Organization

    • MVT(Model View Template) development model.
    • Distributed development but unified management. Uliweb organizes a project withsmall apps. Each app can have its own configuration file(settings.ini), templatedirectory, and static directory. Existing apps can be easily reused, but are treated as a compound.web application project if configured as such. Developers can alsoreference static files and templates between apps, thus easing inter-application data exchange.All apps in a project are loaded by default if INSTALLED_APPS is not configured inthe configuration file. All separate app configuration files are automatically processed atproject startup.
  • URL Mapping

    • Flexiable and powerful URL mapping. Uliweb uses werkzeug's routing module.User can easily define a URL, which in turn can be easily bound with a view function.URLs can also be created reversely according to the view function name. It supportsargument definitions in URLs and default URL mapping to aview function.
  • View and Template

    • View templates can be automatically applied. If you return a dict variable fromview function, Uliweb will automatically try to match and apply a template accordingto the view function name.
    • Environment execution mode. Each view function will be run in an environment,which eliminates the need to write many import statements. Plus there are already manyobjects that can be used directly, for example: request, response, etc. This is DRY and saves a lot of coding
    • Developers can directly use Python code in a template, the Python code does not neede to be indentedas long as a pass statement is added at the end of each code block.Uliweb also supports child template inclusion and inheritance.
  • ORM

    • Uliorm is based on SQLAlchemy package, so you can use Model layer and SQLexpression layer both.
    • Uliorm integrates with alembic package, you can use it to migirate databaseautomatically.
  • I18n

    • Can be used in python and template files.
    • Browser language and cookie settings are supported including automatic language switching.
    • Provides a command line tool that developers can use to extract .po files.This can happen either at the app level or project level process. It can automatically merge .pot files to existing.po files.
  • Extension

    • Dispatch extension. This is a dispatch processing mechanism that utilizes differenttypes of dispatch points. So you can write procedures to carry outspecial processes and bind them to these dispatch points. For example, databaseiniticalization, I18n process initialization, etc.
    • middleware extension. It's similar to Djangos. You can configure it in configurationfiles. Each middleware can process the request and response objets.
    • Special function calls in the views module initial process. If you write a specialfunction named __begin__, it'll be processed before any view function can be processed,this allows developers to do some module level processing at that point, for example:check the user authentication, etc.
  • Command Line Tools

    • Creates project, creates apps, and include the basic essential directorystructure, files and code.
    • Export static files, you can export all available apps' static files to aspecial directory. Also supports css and js combinition and compress process.
    • Startup a development web server thats supports debugging and autoreload.
    • Apps can also have its own command line tools. For example: orm, auth, etc.
  • Deployment

    • Supports mod_wsgi in Apache.
    • Supports uwsgi.
  • Development

    • Provide a development server, and can be automatically reload when somemodule files are modified.
    • Enhanced debugging, you can check the error traceback, template debugging is also supported.

Commuity

Links

LOGO


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap