У меня есть приложение Python 2.7/Flask, работающее на Heroku, которое сбрасывает данные, и теперь я хочу сохранить эту информацию в базе данных.Не удается получить доступ к Postgres DB на приложении Heroku
Я попытался следовать учебникам like this one и применить это к моему делу, но я не могу заставить его работать. Я создал & продвинул мою базу данных postgres успешно на heroku.
Я довольно новичок в архитектуре проекта Python, и я подозреваю, что это простая проблема в моей настройке.
Вот моя структура проекта
/myapplication
Procfile
run.py
requirements.txt
/app
__init__.py
mechanize_boilerplate.py
views.py
/static
/templates
Вот мой INIT .py
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
import os
app = Flask(__name__)
# DB Configuration
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('postgres://{link I got from heroku}')
db = SQLAlchemy(app)
from app import views
Вот часть моего views.py
from app import app
import mechanize_boilerplate
import os
from flask import Flask, render_template, request
from app import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
email = db.Column(db.String(120), unique=True)
def __init__(self, name, email):
self.name = name
self.email = email
def __repr__(self):
return '<Name %r>' % self.name
@app.route('/db')
def dbtest():
try:
user = User('John', '[email protected]')
db.session.add(user)
db.session.commit()
except:
print 'DB error'
return 'done'
В принципе, когда я visit myapp/db Я хочу создать одну запись с идентификатором, именем и электронной почтой (john, [email protected]).
Любые мысли?
Что конкретно не работает? – dirn
Ничего не происходит, он просто печатает ошибку «DB», что означает, что попытка не удалась. Если я удалю «try:», я получаю ошибку 500. – Bnjii
Каково фактическое исключение? – dirn