我在服务器上安装了NGINX UWSGI和WEB2PY . Web2py应用程序通过访问数据库和打印表中的行来执行一个功能 .
def fetch():
import psycopg2
conn = psycopg2.connect(database="postgres",
user="postgres",
password="qwerty",
host="127.0.0.1")
cur = conn.cursor()
cur.execute("SELECT id, name from TEST")
rows = cur.fetchall()
conn.close()
return rows
在本地调用该函数时,将返回表内容 . 但是当我试图从远程机器调用该函数时,我得到一个内部错误500 .
另一个有趣的事情是,当函数看起来像这样:
def hello():
return 'hello'
返回字符串'hello' . 开始添加导入指令会立即导致生成错误页面 .
任何人都可以建议正确的应用程序语法/逻辑吗?
2 回答
我的猜测是你的MySQL服务不允许远程访问 . 你能检查你的MySQL配置吗?
注释掉以下几行 .
如果配置文件中没有跳过网络线,只需添加它并注释掉它 .
然后重启mysql服务 .
原谅这个愚蠢的问题,但你检查过你的服务器上是否有可用的模块吗?
如果您在尝试导入时声明错误出现在hello函数中,那么它是相同的指令
import psycopg2
?试试这个:假设fetch()在
controllers/default.py
上定义了打开文件夹views/default
并创建一个名为fetch.html
的新文件粘贴在里面如果您愿意,fetch.html是一个视图或模板
修改fetch()以返回包含要打印的视图的行的字典
这是非常基本的难点,您可以在书中找到有关基本步骤的更多信息 - > http://www.web2py.com/books/default/chapter/29/03/overview#Postbacks