Article View: pl.comp.lang.python
Article #28384Flask: połączenie do bazy i logowanie
From: hubert depesz lubaczewski
Date: Tue, 17 Jan 2012 15:12
Date: Tue, 17 Jan 2012 15:12
69 lines
2636 bytes
2636 bytes
elo
czytam sobie po kolei tutorial do flaska, więc możliwe, że do
odpowiedniego momentu jeszcze nie doczytałem, ale mam następujące
pytania:
1. Jak mogę nawiązać stałe połączenie do bazy?
Mam taki kod:
#v+
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import psycopg2
from flask import Flask, url_for, render_template, request, flash, g
# Default configuration
DEBUG = False
SECRET_KEY = 'dev key'
HOST = '0.0.0.0'
DB_DATABASE = 'jab'
DB_PORT = 5920
DB_HOST = '/tmp'
# Default configuration
app = Flask(__name__)
app.config.from_object(__name__)
app.config.from_envvar('JDC_SETTINGS', silent=True)
def get_db_connection():
conn_details = dict()
for i in ( j for j in ( 'database', 'user', 'password', 'host', 'port', 'sslmode' ) if app.config.has_key( 'DB_' + j.upper() ) ):
conn_details[ i ] = app.config[ 'DB_' + i.upper() ]
return psycopg2.connect( **conn_details )
@app.before_request
def before_request():
g.db = get_db_connection()
@app.teardown_request
def teardown_request(exception):
g.db.rollback()
@app.route('/')
def index():
c=g.db.cursor()
c.execute("SELECT version()")
version = c.fetchone()[0]
return render_template( 'index.html', version=version)
if __name__ == '__main__':
app.run( host=app.config['HOST'] )
#v-
I to działa, ale dla każdego requestu nawiązuje nowe połączenie.
Jak mogę zrobić by połączenie było nawiązane za pierwszym razem jak jest
potrzebne, ale potem by nie było zamykane?
2. Jak mogę zrekonfigurować logger flaskowy? Próbowałem jakiś cudów
i nic mi nie wychodziło. Najprostsza zmiana - logowanie do pliku,
a nie na stdout.
depesz
--
The best thing about modern society is how easy it is to avoid contact with it.
http://depesz.com/
Technical Details
Message-ID:
<6nfgu8-k3j.ln1@depesz.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: hubert depesz lubaczewski <depesz@depesz.com> Newsgroups: pl.comp.lang.python Subject: Flask: połączenie do bazy i logowanie Date: Tue, 17 Jan 2012 16:12:06 +0100 Organization: depesz Software Lines: 69 Message-ID: <6nfgu8-k3j.ln1@depesz.com> Reply-To: depesz@depesz.com NNTP-Posting-Host: andy.depesz.com Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1326813633 19939 88.198.47.100 (17 Jan 2012 15:20:33 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 17 Jan 2012 15:20:33 +0000 (UTC) X-User: depesz_hdl User-Agent: slrn/pre1.0.0-18 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit