我的本地postgresql数据库URL的形式是什么?

Spe*_*ley 8 python postgresql sqlalchemy flask

我正在阅读flask / sqlalchemy教程 https://pythonhosted.org/Flask-SQLAlchemy/quickstart.html#a-minimal-application, 并将数据库url配置为:postgres:// username:password @ localhost:5432 / dbname

当我在交互式python shell中运行db.create_all()时,它不会抛出任何错误,但也不会执行任何操作。

据我了解,应该创建一个包含三列的User表。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:password@localhost: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()
Run Code Online (Sandbox Code Playgroud)

Nav*_*ava 6

它应该是确切的格式。

app.config['SQLALCHEMY_DATABASE_URI'] = "postgresql://postgres:postgres@localhost/DBNAME"
Run Code Online (Sandbox Code Playgroud)

postgres用户名和postgres密码在哪里,localhost地址在哪里


kha*_*son 0

postgresql尝试在URL中使用而不是postgres.

这是JDBC和SQLAlchemy文档 ( http://docs.sqlalchemy.org/en/rel_0_9/dialects/postgresql.html ) 中使用的形式。