2014-07-13 58 views
2

我經歷一個燒瓶/ SQLAlchemy的教程 https://pythonhosted.org/Flask-SQLAlchemy/quickstart.html#a-minimal-application 和我配置我的數據庫網址爲: Postgres的://用戶名:密碼@本地:5432/DBNAME我的本地postgresql數據庫url的形式是什麼?

當我運行db.create_all()在交互式python shell不會拋出任何錯誤,但它也不會做任何事情。

從我的理解,它應該創建三列的用戶表; ID,用戶名和電子郵件。

from flask import Flask, url_for, render_template 
from flask.ext.sqlalchemy import SQLAlchemy 

app = Flask(__name__) 

app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://username:[email protected]:5432/dbname' 

db = SQLAlchemy(app) 


class User(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    username = db.Column(db.String(80), unique=True) 
    email = db.Column(db.String(120), unique=True) 

    def __init__(self, username, email): 
     self.username = username 
     self.email = email 

    def __repr__(self): 
     return '<User %r>' % self.username 

app.debug = True 



@app.route("/") 
def hello(): 
    return render_template('hello.html') 

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

您使用哪種驅動程序?驅動程序[並不總是可選的](https://pythonhosted.org/Flask-SQLAlchemy/config.html#connection-uri-format)。 – dirn

+0

@SpencerCooley你可以發佈你的'psql'查詢,在那之前你已經完成'create_db()' – Nava

回答

0

嘗試在URL代替postgres使用postgresql

這是一個的既用於JDBC並在SQLAlchemy的 DOC(http://docs.sqlalchemy.org/en/rel_0_9/dialects/postgresql.html)的形式。

+0

是的,我確實嘗試過,但是接着進入psql控制檯並檢查是否創建了任何新表,沒有看到任何東西。 –

+0

嗯......所以你可以通過* psql *連接那些相同的參數......任何在* postgres *日誌中? – khampson

+0

需要檢查。我在mac os上使用postgres.app,不知道這是否有所不同。剛剛找到這個鏈接http://codeinthehole.com/writing/configuring-logging-for-postgresapp/ –

0

它應該是確切的格式。

app.config['SQLALCHEMY_DATABASE_URI'] = "postgresql://postgres:[email protected]/DBNAME" 

哪裏postgres是用戶名和postgres是密碼,localhost是地址

相關問題