python+flask+postgresql 学习

1、安装PostgreSQL

去官网下载安装:http://www.postgresql.org/download/


2、安装psycopg2

是一个PostgreSQL数据库连接库

去http://www.stickpeople.com/projects/python/win-psycopg/ 下载安装


一开始是pip install postgresql安装的,但是安装不成功。


3、创建postgresql触发器

create or replace function notify_on_insert() returns trigger as $$
begin
   PERFORM pg_notify('channel_'||new.channel,cast(row_to_json(new) as text));
   return null;
end;
$$ language plpgsql;

create trigger notify_on_message_insert after insert ON message
for each row execute procedure notify_on_insert();


4、创建表结构:

CREATE TABLE "public"."message" (
"id" int4 DEFAULT nextval('message_id_seq'::regclass) NOT NULL,
"channel" int4 NOT NULL,
"source" text COLLATE "default" NOT NULL,
"context" text COLLATE "default" NOT NULL,
CONSTRAINT "message_pkey" PRIMARY KEY ("id")
)
WITH (OIDS=FALSE)
;


5、创建应用

import flask
import psycopg2
import psycopg2.extensions
import select

app = flask.Flask(__name__)

def stream_messages(channel):
    conn = psycopg2.connect(database='MyTest',user='postgres',password='123456',host='localhost')
    conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)

    curs = conn.cursor()
    curs.execute('LISTEN channel_%d;'%int(channel))

    while True:
        select.select([conn],[],[])
        conn.poll()
        while conn.notifies:
            notify = conn.notifies.pop()
            yield "data:"+notify.payload+"\n\n"

@app.route("/message/<channel>",methods=['GET'])
def get_messages(channel):
    return flask.Response(stream_messages(channel),mimetype='text/event-stream')

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


### 回答1: Python是一种强大的编程语言,其应用领域广泛,包括了数据处理、数据挖掘和爬虫等方面。在这其中,Python的爬虫技术已经成为数据获取和处理的重要建设板块。同时,数据库是存储和管理数据的基本方式,其由于高效、安全和稳定等特性而被广泛应用在各个领域中。 在Python的Web框架中,Flask是一种极为流行的工具,其为开发Web应用提供了很多便利,尤其适合小型和中型的Web应用开发。在Flask框架中,开发者可以使用Python编写各种功能,如路由、拦截器、数据验证、数据渲染等等。 在就业系统的建设过程中,PythonFlask可以负责Web应用的开发。爬虫技术则可以用于从多个网站获取招聘信息,并将其存储在数据库中,包括职位、公司、薪资、职位要求等信息。数据库技术则可以用于数据的管理和访问,包括SQL Server、MySQL、PostgreSQL等多种方式。 总而言之,PythonFlask、爬虫和数据库技术可以结合起来,为企业提供高效、准确和可靠的招聘数据,提高招聘质量和效率。 ### 回答2: Python是一门非常流行的编程语言,被广泛应用于爬虫、数据处理、Web开发等领域。在Web开发方面,Flask是一种轻量级的Web应用框架,易于上手,同时也有很好的扩展性和灵活性。 爬虫是将互联网上的数据爬取下来,并进行处理和分析的过程。Python中有很多爬虫框架,比如Scrapy、Beautiful Soup等。而在爬取数据后,需要对其进行存储和管理,这时数据库就成了必不可少的一环。Python中常用的数据库有MySQL、SQLite、PostgreSQL等。 在就业系统中,我们可以利用爬虫来获取各种招聘信息,并将其储存在数据库中,方便后续查询和管理。Flask则可以搭建一个基于Web的简单就业系统,可以实现用户注册、登录、简历管理、招聘信息查看等功能。 总的来说,PythonFlask、爬虫和数据库在就业系统中的应用,提高了数据的收集和管理效率,同时也提供了更加丰富、便捷的招聘信息查询和管理方式,帮助求职者和企业更好地完成匹配和招聘。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值