Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Web2py票证无效链接_Python_Https_Admin_Web2py - Fatal编程技术网

Python Web2py票证无效链接

Python Web2py票证无效链接,python,https,admin,web2py,Python,Https,Admin,Web2py,前几天,为了一个新项目,我开始玩web2py。我真的很喜欢它的结构和整个概念,在花了几年时间使用PHP框架之后,感觉就像呼吸了一口新鲜空气 唯一(目前)困扰我的是票务系统。每次我犯了一个错误,就会出现一个链接到罚单的页面。我想如果这个链接起作用,我可以接受。它当前指向一个以http作为协议而不是https的管理页面。我做了一些阅读,管理员强制使用https似乎是一种安全措施,但这让调试很痛苦 这里的标准溶液是什么?更改错误页面,允许http用于管理och使用日志进行调试 致意 弗雷德里克我和你在

前几天,为了一个新项目,我开始玩web2py。我真的很喜欢它的结构和整个概念,在花了几年时间使用PHP框架之后,感觉就像呼吸了一口新鲜空气

唯一(目前)困扰我的是票务系统。每次我犯了一个错误,就会出现一个链接到罚单的页面。我想如果这个链接起作用,我可以接受。它当前指向一个以http作为协议而不是https的管理页面。我做了一些阅读,管理员强制使用https似乎是一种安全措施,但这让调试很痛苦

这里的标准溶液是什么?更改错误页面,允许http用于管理och使用日志进行调试

致意
弗雷德里克

我和你在同一条船上,我不喜欢默认的机制。幸运的是,web2py的定制异常处理非常简单。查看web2py目录根目录中的routes.py。我已将以下内容添加到我的中:

路由\u onerror=[('application\u name/*','/application\u name/error/index')]

这会将任何异常路由到我的错误处理程序控制器(application_name/controllers/error.py),在该控制器中,我将def索引定义为:

def index():
    if request.vars.code == '400':
        return(dict(app=request.application,
            ticket=None,
            traceback="A 400 error was raised, this is controller/method path not found",
            code=None,
            layer=None,
            wasEmailed=False))
    elif request.vars.code == '404':
        return(dict(app=request.application,
            ticket=None,
            traceback="A 404 error was raised, this is bad.",
            code=None,
            layer=None,
            wasEmailed=False))  
    else:
        fH = file('applications/%s/errors/%s' % (request.application,request.vars.ticket.split("/")[1]))
        e = cPickle.load(fH)
            fH.close()
            __sendEmail(request.application,e['layer'],e['traceback'],e['code'])
        return(dict(app=request.application,
            ticket=request.vars.ticket,
            traceback=e['traceback'],
            code=e['code'],
            layer=e['layer'],
            wasEmailed=True))
如您所见,对于非400和404错误,我将通过电子邮件向自己发送回溯,然后调用相应的视图/error/index.html。在生产中,此视图给出了一个通用的“很抱歉发生了错误,开发人员收到了电子邮件”。在我的开发服务器上,它显示格式化的回溯。

通常,我只使用(如果您是本地或通过ssh)或使用https://...


因此,您将在第一次登录管理应用程序,但之后将始终显示门票。

感谢您的快速回复标记,这似乎是一个很好的解决方案!