aiohttp和asyncio框架、cms和crm
tao1的Python项目详细描述
< BR>[许可证](https://img.shields.io/badge/license-mit-brightgreen.svg?style=plastic)"(http://opensource.org/licenses/mit)
[![PYPI版本](https://badge.fury.io/py/tao1.svg)(https://badge.fury.io/py/tao1)
但有了MongoDB、Jinja2、WebSocket的开箱即用,
不仅仅是一个简单的进入壁垒。
在框架中,有电池。作为组件的游戏框架原型。=3.5.1
aiohttp==0.20.2
aiohttp_jinja2
aiohttp_session
aiohttp_debugtoolbar
aiomcache
pymongo
apt repository ppa:fkrull/deadsnakes
sudo apt get update
sudoapt get install python3.5 python3.5-dev
```
````框架安装
`` bash
$pip install tao1
``````
``入门
>随时随地创建项目:
`` bash
utils.py-p name
`````
在项目文件夹中创建应用程序应用程序:
``bash
utils.py-a name
`````
```run server:
``bash
python3 index.py
`````
```license
` index.py`,最好使用"supervisor"和"nginx"。
`/etc`中的设置管理器:
``python
[程序:名称]
命令=python3 index.py
目录=/path/to/your/project
user=nobody
autorestart=true
重定向stderr=true
````
设置nginx在`/etc`和代理websocket中::
``nginx
服务器{
服务器名aio.dev;
位置{
代理路径http://127.0.0.1:8080;
}
位置/ws{
代理路径http://127.0.0.1:8080;
proxy_http_版本1.1;
proxy_set_header upgrade$http_upgrade;
proxy_set_header connection"upgrade";
```
集成的"jinja2"。模板总是在"temple"文件夹中。
调用模板函数"temple"并将模板名称传递给它。如果模板在某种模块中,
调用类似于"libs.modul\u name.temp\u name"。
请求,{'key':'val'})
````
)
route('get','/wsh',ws-u handler,'ws-u handler')
````
这些路由可以工作,您可以看到一个示例。
第二个是函数本身。
呈现聊天页的函数:
``python
异步定义ws(请求):
返回模板('libs.app:chat',请求,{})
````
函数处理程序聊天:
```python
async def ws_handler(请求):
ws=web.websocketresponse()
等待ws.prepare(请求)
ws中的消息异步:
if msg.tp==aiohttp.msgtype.text:
if msg.data=='关闭':
等待ws.close()
其他:
ws.send_str(msg.data+'/answer')
elif msg.tp==aiohttp.msgtype。错误:
print('ws connection closed with exception%s'%ws.exception())
print('websocket connection closed')
返回ws
``````
```````数据库
测试数据库(请求):
save doc
request.db.doc.save({"u id":"test","status":"success"})
{'key':val})
```
文件位于某个模块中,然后路径如下`/static/module_name/file_name.jpg`.
\caching
>为函数5创建缓存秒,第一个参数-name::
``python
@cache("main_page",expire=5)
异步定义页(请求):
返回模板('index',request,{'key':'val'})
````
游戏是一个3D多人射击游戏。
原型游戏框架有多人模式、迷你地图、房间、机器人、几种典型的坦克模型。
客户端是在框架"webgl"巴比伦.js中编写的。
"游戏开始"
"游戏开始"位于路径"pregame"上。
![图片alt](https://github.com/alikzao/tao1/raw/master/docs/廑u static/game.jpg)
http://tao1.readthedocs.org/en/latest/>;
[![PYPI版本](https://badge.fury.io/py/tao1.svg)(https://badge.fury.io/py/tao1)
但有了MongoDB、Jinja2、WebSocket的开箱即用,
不仅仅是一个简单的进入壁垒。
在框架中,有电池。作为组件的游戏框架原型。=3.5.1
aiohttp==0.20.2
aiohttp_jinja2
aiohttp_session
aiohttp_debugtoolbar
aiomcache
pymongo
apt repository ppa:fkrull/deadsnakes
sudo apt get update
sudoapt get install python3.5 python3.5-dev
```
````框架安装
`` bash
$pip install tao1
``````
``入门
>随时随地创建项目:
`` bash
utils.py-p name
`````
在项目文件夹中创建应用程序应用程序:
``bash
utils.py-a name
`````
```run server:
``bash
python3 index.py
`````
```license
` index.py`,最好使用"supervisor"和"nginx"。
`/etc`中的设置管理器:
``python
[程序:名称]
命令=python3 index.py
目录=/path/to/your/project
user=nobody
autorestart=true
重定向stderr=true
````
设置nginx在`/etc`和代理websocket中::
``nginx
服务器{
服务器名aio.dev;
位置{
代理路径http://127.0.0.1:8080;
}
位置/ws{
代理路径http://127.0.0.1:8080;
proxy_http_版本1.1;
proxy_set_header upgrade$http_upgrade;
proxy_set_header connection"upgrade";
```
集成的"jinja2"。模板总是在"temple"文件夹中。
调用模板函数"temple"并将模板名称传递给它。如果模板在某种模块中,
调用类似于"libs.modul\u name.temp\u name"。
请求,{'key':'val'})
````
)
route('get','/wsh',ws-u handler,'ws-u handler')
````
这些路由可以工作,您可以看到一个示例。
第二个是函数本身。
呈现聊天页的函数:
``python
异步定义ws(请求):
返回模板('libs.app:chat',请求,{})
````
函数处理程序聊天:
```python
async def ws_handler(请求):
ws=web.websocketresponse()
等待ws.prepare(请求)
ws中的消息异步:
if msg.tp==aiohttp.msgtype.text:
if msg.data=='关闭':
等待ws.close()
其他:
ws.send_str(msg.data+'/answer')
elif msg.tp==aiohttp.msgtype。错误:
print('ws connection closed with exception%s'%ws.exception())
print('websocket connection closed')
返回ws
``````
```````数据库
测试数据库(请求):
save doc
request.db.doc.save({"u id":"test","status":"success"})
{'key':val})
```
文件位于某个模块中,然后路径如下`/static/module_name/file_name.jpg`.
\caching
>为函数5创建缓存秒,第一个参数-name::
``python
@cache("main_page",expire=5)
异步定义页(请求):
返回模板('index',request,{'key':'val'})
````
游戏是一个3D多人射击游戏。
原型游戏框架有多人模式、迷你地图、房间、机器人、几种典型的坦克模型。
客户端是在框架"webgl"巴比伦.js中编写的。
"游戏开始"
"游戏开始"位于路径"pregame"上。
![图片alt](https://github.com/alikzao/tao1/raw/master/docs/廑u static/game.jpg)
http://tao1.readthedocs.org/en/latest/>;