【发布时间】:2018-01-11 20:21:01
【问题描述】:
我正在使用 Flask 进行开发,并且正在尝试创建一个页面来创建页面(作为一种自定义 CMS)。因此,页面需要为在 app.py 文件中调用时呈现页面模板的函数创建自己的 @app.route 装饰器。我想出的是创建三个函数:remove_last_two_lines 和 create_rendering_func 和 add_back_last_lines(以他们的工作命名)。 remove_last_two_lines 函数和 add_back_last_lines 函数正是我想要的。我遇到的问题是create_rendering_func。它根本不做任何事情,也不会引发错误。所以我认为代码是有效的(并且我传递了有效的参数),我只是不明白为什么它不起作用。被覆盖的行是空的(这就是为什么在函数的最后一行之后有多个换行符)。提前致谢!
def add_new_url(route, func_name, title, filename):
lines = open(__file__, 'r').readlines()
lines[-6] = '@app.route(\'%s\')' % route
lines[-5] = '\ndef %s' % func_name
lines[-4] = '\n\trender_template(\'filename\', the_title=%s)\n\n\n\n\n' % title
(这种方法很烂。任何关于更好方法的提示表示赞赏)
【问题讨论】: