The following code snippet:
template = "\
function routes(app, model){\
app.get('/preNew{className}', function(req, res){\
res.render('{className}'.ejs, {});\
});\
});".format(className=className)
throws a KeyError:
Traceback (most recent call last): File "createController.py", line 31, in <module>
});".format(className=className) KeyError: ' app'
Does someone know why?
You have a number of unescaped braces in that code. Python considers all braces to be placeholders and is trying to substitute them all. However, you have only supplied one value.
I expect that you don't want all your braces to be placeholders, so you should double the ones that you don't want substituted. Such as:
template = """
function routes(app, model){{
app.get('/preNew{className}', function(req, res){{
res.render('{className}'.ejs, {{}});
}};
}});""".format(className=className)
I also took the liberty of using triple quotes for the string literal so you don't need the backslashes at the end of each line.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With