我最近在Heroku上放了一个Django应用程序.主页看起来很好,但是当我尝试转到涉及进行查询的页面时(例如p = Photo.objects.get(title=title)),我收到此错误:
could not connect to server: Connection refused
Is the server running on host "localhost" and accepting
TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)
根据这个答案,我做到了$ heroku pg:promote HEROKU_POSTGRESQL_GREEN_URL
然后在我的settings.py中:
DATABASES = {'default': dj_database_url.config(default=os.environ['DATABASE_URL'])}
仍然有同样的错误,所以我试着看看这个结果(正如这个答案所示):
$ heroku run python manage.py shell
>>> from django.conf import settings
>>> print settings.DATABASES['default']
{'TIME_ZONE': 'UTC', 'TEST_MIRROR': None, 'NAME': 'snorthway', 'OPTIONS': {},
'HOST': 'localhost', 'TEST_NAME': None, 'PASSWORD': '******', 'ENGINE':
'django.db.backends.postgresql_psycopg2', 'PORT': '', 'USER': 'snorthway',
'TEST_COLLATION': None, 'TEST_CHARSET': None}
Run Code Online (Sandbox Code Playgroud)
在那一点上,我意识到我不知道我应该在那里寻找什么.我仍然不明白错误意味着什么,所以我不确定如何调试它.
我正在尝试按照以下方式做一些事情:
from flask import Flask, render_template, redirect, url_for
from flask.ext.socketio import SocketIO
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/start')
def start():
return render_template('start.html')
@app.route('/new_view')
def new_view():
return render_template('new_view.html')
@socketio.on('change_view')
def change_view(message):
return redirect(url_for('new_view'))
if __name__ == "__main__":
socketio.run(app, host='127.0.0.1', port=8080)
Run Code Online (Sandbox Code Playgroud)
基本上,如果它从客户端获取“change_view”消息,我希望它重定向。现在,change_view()在我单击触发socket.emit('change_view', message)调用的按钮后,它会进入该功能,以便该部分工作。它根本不重定向或进入new_view()函数(即,如果我在new_view()其中放入打印语句,则不会打印)。但它也没有给我任何错误。我是套接字的新手,所以我猜测存在一些根本性的误解。
我最近将South添加到现有的Django项目中.我经历了整个过程
python manage.py syncdb
python manage.py convert_to_south myapp
python manage.py migrate myapp 0001 --fake
Run Code Online (Sandbox Code Playgroud)
根据此票证的最后评论进行处理(因为我有自定义用户模型).
然后我想我做了一个架构迁移和迁移?我不完全记得,但我结束了两个所谓的迁移文件0001_initial.py和0002_initial.py,这似乎并不完全正确.
今天我尝试在我的一个模型中添加一个字段并进行迁移:
$ python manage.py schemamigration myapp --auto
? The field 'Photo.main_person' does not have a default specified, yet is NOT NULL.
? Since you are adding this field, you MUST specify a default
? value to use for existing rows. Would you like to:
? 1. Quit now, and add a default to the field in models.py
? …Run Code Online (Sandbox Code Playgroud)