I would like to show dynamic pretty URLs from the root of my app, such as: mysite/pretty-url
instead of: mysite/blog/post/show/pretty-url Do I need routes for this? Richard On Jan 22, 1:38 am, pistacchio <pistacc...@gmail.com> wrote: > hi to all! > a couple of questions. i'm writing a simple blog to get used to web2py > and get my hands dirty with it (and i love it so far!). > > each blog post has a title. as i want that title to be in the url when > retrieving the post, i need what in django is called a "slug" field, > or a pretty, url-friendly version of a string so that "This is > the first POST of my awesome site!!!!! :D I like accents èàò" > becomes "this-is-the-first-post-of-my-awesome-site-i-like-accents- > aeo". using this i can have pretty urls like mysite/blog/post/show/ > this-is-the-first-post-of-my-awesome-site-i-like-accents-aeo. > > i've looked into the documentation but i could not find a web2py > utility to have this. i have put together my "urlify" function to > solve the problem, but i think this is a pretty common task. when it's > done, if it's not there yet and i simply couldn't find it, i'll > contribute it. > > in the very same phase i had a problem populating this field. i use > SQLFORM to create the "insert new post" form. of course the "slug" > field is not visible as it is derived by another field (title). how > can i assign automatically a value to that field, in the "insert" > phase, based on another value? > > this is a stripped down example of the code i use right now, but i'm > not sure it is the most elegant way to solve the problem > > ------------------------ > # MODEL > > db.define_table('post', > Field('title', length=100, required=True, > unique=True), > Field('slug', length=100, unique=True), > Field('text', 'text')) > > # CONTROLLER > > form.vars.slug = utils.urlify(request.vars.title) > form.accepts(request.vars, session) > > ------------------------ > > one last question: as far as i've seen, form.accepts works both as > "insert record" and "validate form". if i don't have validators > (requires=), how can i specify "only if the form has submitted do > form.accepts"? > > thanks in advance, > gustavo -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.