Sanic 连接postgresql数据库

1.安装系统包

# yum install postgresql-devel

2.安装Python包

peewee-2.8.5.tar.gz

psycopg2-2.6.2.tar.gz

1).安装peewee-async

# pip install peewee-async

Collecting peewee-async

Downloading peewee_async-0.5.6-py3-none-any.whl

Requirement already satisfied: peewee>=2.8.0 in /usr/local/lib/python3.5/site-packages (from peewee-async)

Installing collected packages: peewee-async

Successfully installed peewee-async-0.5.6

#

2).安装aiopg

# pip install aiopg

Collecting aiopg

Using cached aiopg-0.13.0-py3-none-any.whl

Requirement already satisfied: psycopg2>=2.5.2 in /usr/local/lib/python3.5/site-packages/psycopg2-2.6.2-py3.5-linux-x86_64.egg (from aiopg)

Installing collected packages: aiopg

Successfully installed aiopg-0.13.0

#

3.目录结构

/home/webapp

|-- main.py

|-- my_blueprint.py

templates

|-- index.html

4.文件内容:

1).main.py

# more main.py

from sanic import Sanic

from my_blueprint import bp

app = Sanic(__name__)

app.blueprint(bp)

app.run(host=‘0.0.0.0‘, port=8000, debug=True)

#

2).my_blueprint.py

# more my_blueprint.py

from sanic import Blueprint

from sanic.response import json, text, html

## Jinja2 template ####

from jinja2 import Environment, PackageLoader

env = Environment(loader=PackageLoader(‘my_blueprint‘, ‘templates‘))

## database ####

import uvloop, peewee

from peewee_async import PostgresqlDatabase

bp = Blueprint(‘my_blueprint‘)

# init db connection

global database

database = PostgresqlDatabase(database=‘webdb‘,

host=‘127.0.0.1‘,

user=‘postgres‘,

password=‘111111‘)

# router define

@bp.route(‘/‘)

async def bp_root(request):

serialized_obj = []

cursor = database.execute_sql(‘select * from t1;‘)

for row in cursor.fetchall():

serialized_obj.append({

‘id‘: row[0],

‘name‘: row[1]}

)

template = env.get_template(‘index.html‘)

content=template.render(items=serialized_obj)

return html(content)

#

3).index.html

# more index.html

<!doctype html>

<title> Sanic </title>

<div class=page>

<table border="1" cellpadding="10">

<tr>

<th>id</th>

<th>name</th>

</tr>

{% for item in items %}

<tr>

<td> {{ item.id }} </td>

<td> {{ item.name }} </td>

</tr>

{% endfor %}

</table>

</div>

#

5.浏览器运行结果

时间: 2024-12-19 05:05:06

Sanic 连接postgresql数据库的相关文章

metasploit连接postgresql数据库

metasploit 连接postgresql数据库: 1.打开postgresql服务:services postgresql start 2.进入postgresql中,设置默认用户密码.创建新用户.设置新用户权限.创建数据库: sudo -u postgres psql#进入postgresql默认的用户 alter user postgres with password '密码'; #设置默认用户的登录密码 create user '用户名' wiht password '密码' noc

视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时间录制,今天我兑现了给朋友们的承诺.. 本次视频教程的目录为 视频.代码.资料,其中视频有4段,资料是我收集的相关资料.. 视频下载地址:http://pan.baidu.com/s/1c05sysC 希望大家多多支持... 郝喜路 2014年6月8日 11:11:02   http://haoxilu.cn

KaLi 之 Metasploit 连接 postgresql 数据库

KaLi 连接 postgresql 数据库 查看 postgresql 是否启动,没有启动的话,使用 service postgresql start 命令启动.启动后查看是否启动成功,端口是 5432,如图所示: 启动 metasploit 后,查看 postgresql 的连接状态,命令是:db_status,如出现如下,证明没有连接. 查看 postgresql 的账户密码,地址是:  cat /opt/metasploit/apps/pro/ui/config/database.yml

BT5之Metasploit[MSF]连接postgresql数据库

1,先查看postgresql的端口,默认是自动开启的,端口7337 .   [email protected]:~# netstat -tnpl |grep postgres tcp        0      0 127.0.0.1:7337          0.0.0.0:*               LISTEN      1100/postgres tcp6       0      0 ::1:7337                :::*                   

Entity Freamwork 6连接PostgreSql数据库

原文 Entity Freamwork 6连接PostgreSql数据库 开发环境 VS 2015  Update 1   Postgre Sql 9.4 使用过程 1.使用Nuget在项目中添加对EntityFramework6.Npgsql的引用 2.下载并安装NpgsqlDdexProvider程序,下载地址: https://github.com/npgsql/npgsql/releases ,请下载exe文件,他会帮你做很多事情.下载完成后关闭vs,安装下载好的文件,安装完成之后,点击

SSIS2012连接 PostgreSQL数据库

场景:     公司业务数据库位PostgreSQL数据库,需要用ETL工具(SSIS2012)将数据抽取到数据仓库中 1. SSIS2012 连接 PostgreSQL数据库 两种方法:  .NET Provider for OleDB 和ODBC  ,第一种同事是花钱从老外那边买的插件(如果有朋友有免费的连接适配器,求分享!) 下图为第一种 . 我们这里介绍第二种方式. 2. 下载PostgreSQL的ODBC连接驱动程序.      http://www.postgresql.org/ft

typescript-koa-postgresql 实现一个简单的rest风格服务器 —— 连接 postgresql 数据库

接上一篇,这里使用 sequelize 来连接 postgresql 数据库 1.安装 sequelize,数据库驱动 pg yarn add sequelize sequelize-typescript pg reflect-metadata 2.新建配置文件夹 conf 及 配置文件 db.conf.ts /** * @name: 数据库配置 * @param : undefined * @return : undefined */ export const dbConfig = { hos

Java连接postgresql数据库

1.下载驱动jar下载地址:https://jdbc.postgresql.org/download.html 2.导入jar包新建lib文件夹,将下载的jar驱动包拖到文件夹中.将jar驱动包添加到Libraries 3.程序代码如下:HelloWorld.java package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql

C#远程连接postgresql数据库

第一次在项目中遇到远程访问postgresql数据库的,当时经常会出现连接数据库的错误,连接字符串出现乱码现象 解决方案 在配置文件中添加连接字符串 <add key="Information" value="server=182.76.17.254;Port=5432;Database=wos;uid=postgres;pwd=postgres;Encoding=UNICODE" /> 后台代码 string connectionString = Co