使用连字符在web2py上重命名应用程序

时间:2013-07-06 17:10:23

标签: web2py hyphen

如何使用连字符重命名web2py中的现有应用程序?

例如,我想将welcome应用程序重命名为my-app。我尝试将/applications/welcome文件夹重命名为/applications/my-app,然而,这只是从管理员中删除了欢迎应用,当我尝试访问该网址时:

http://localhost:8000/my-app/default/index

我收到消息:

invalid request

2 个答案:

答案 0 :(得分:5)

事实证明,web2py在应用程序目录中的连字符文件夹名称存在问题。我注意到在通过管理界面创建应用my-app时,它创建了一个名为my_app的应用。

web2py无法识别名称中带有连字符的任何应用程序!

这与python中的有效标识符只能包含字母,数字和下划线这一事实有关。

如果必须在网址中使用连字符,解决方案是将map_hyphen dict值设置为True文件中routes.py的基本目录或应用 - 特定位置这会将url请求中的传入连字符转换为下划线,然后将目录结构中的传出下划线更改为URL中的连字符。默认情况下,此行为在默认路由器中设置为False

我希望如果你碰巧改变了欢迎脚手架到连字符的东西,这可以让别人免于头疼。 ;)

答案 1 :(得分:1)

尝试点击管理员应用主页右上角的“重新加载路由”按钮,或重新启动服务器。