我有一个Python金字塔应用程序,我正在使用uwsgi运行,如下所示:
sudo /finance/finance-env/bin/uwsgi --ini-paste-logged /finance/corefinance/production.ini
Run Code Online (Sandbox Code Playgroud)
一旦它运行并且我的窗口超时,我无法在不重新启动整个盒子的情况下停止服务器.如何停止服务器?
网上的所有示例似乎都使用 boto。我可以使用什么代码使用 boto3 将文件上传到 s3?
我正在尝试使用官方文档中的代码,但出现版本 4 身份验证失败的错误。
我需要在main函数中提取配置文件:
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
parser = SafeConfigParser()
ret = parser.read('/var/www/finance/corefinance/database.ini')
connstring = parser.get('postgres', 'connstring')
settings['sqlalchemy.url'] = connstring
Run Code Online (Sandbox Code Playgroud)
database.ini的位置是从init .py 的位置向上一级
我以为我可以使用"../database.ini",但这不起作用.唯一有效的是投入整条道路.如何避免在此文件中放入完整路径?
我在pyramid框架上有一个应用程序,我request.route_url随处可见.我刚刚将我的应用程序切换到HTTPS,并且所有链接仍然以HTTP形式出现.
是否有一个全局设置我可以放在某个配置文件中,这将改变我的整个应用程序,或者我可以传递给这个函数的参数,它将给我一个HTTPS URL或最好是//不可知的URL( //)?
我刚刚在我的应用程序中进行身份验证,并且我能找到的所有金字塔示例都很好地解释了这些简单的部分,但是对我没有任何意义的部分进行了手动操作.
大多数示例看起来像这样:
login = request.params['login']
password = request.params['password']
if USERS.get(login) == password:
headers = remember(request, login)
return HTTPFound(location = came_from,
headers = headers)
Run Code Online (Sandbox Code Playgroud)
从init:
session_factory = UnencryptedCookieSessionFactoryConfig(
settings['session.secret']
)
authn_policy = SessionAuthenticationPolicy()
authz_policy = ACLAuthorizationPolicy()
Run Code Online (Sandbox Code Playgroud)
试图追踪登录实际发生的点,我假设它是这个:
headers = remember(request, login)
Run Code Online (Sandbox Code Playgroud)
在我看来,正在发生的是我们将用户名存储在会话cookie中.
如果我把这一行放在我的应用程序中,当前用户会神奇地登录,但为什么呢?