You are correct -- you need the town or other location name in the body text of the page. You should also have the name in the page title, meta tags, headings, alt text and other areas (with sufficient but not excessive keyword density), as well as in anchor text of internal and external links to the page. You should also have text and keywords on the page that reflect the purpose of the page so that it is found for relevant searches (what local information or service is provided).
If you are building out pages for many towns or other locations (states, provinces, counties, etc), be sure each page has unique user value and content. Just pumping out 100's or 1,000's of templated pages with only the location name being different will be filtered as spam. Also be sure each page is linked into the site, so a search engine spider can find the page by following links from the home page, site map, etc.
This technique is very common on real estate sites, such as trulia.com, househunt.com and homes.com, and other sites that target local terms, such as city-data.com.