I based my webapp on the web2py welcome app sample and I just use its login functionality.
To get that to work with Angular, I copied layout.html to layout_angular.html and in layout_angular.html I changed all {{ }} to {[ ]}
and I put that call "response.delimiters = ('{[',']}')" I showed you in the controller to change the web2py template delimiter to {[ ]}.
In my opinion it is best to change the web2py delimiter, and leave angular as {{ }} because so many angular code snippets are being used and very little new web2py templates are needed in the angular version of web2py.
I copied web2py_ajax.html to web2py_ajax_angular.html.
I changed web2py_ajax_angular.html and index.html for all {{ }} to {[ ]}
In layout_angular.html I made it use bootstrap 3.
In index.html I changed it to use layout_angular.html and web2py_ajax_angular.html.
After doing all that, then the regular web2py menu strip with the login drop down works.
but =MENU messes up so remove the =MENU call from laytout_angular.html
Instead, just below where =MENU was, put a standard Bootstrap 3 menu html fragment based on <ul class="nav navbar-nav"> such as:
<ul class="nav navbar-nav">
<li>
<a href="/init/default/index">Home</a>
</li>
<li >
<a href="/init/about/about_us">About US</a>
</li>
<li>
<a href="/init/about/help">Help</a>
</li>
</ul>
In your style.css you can modify menu bar item colors by adding these css snippets;
.navbar .nav > li > a {
background-color: black;
color:greenyellow;
}
/* set hover and focus */
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
background-color: gray;
color: white;
}
/* set active item to darkgreen */
.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
background-color: lightgreen;
color: black;
}
/* set font color and background of the project name (brand) */
.navbar .brand
{
background-color: orange;
color: navy;
}
Good luck.