UrlMaps and Controllers
Last Updated: February 22, 2018
Although UrlMaps
and controllers defined in extensions are loaded, it is not recommended that you use them to load normal html pages. Rather, use UrlMaps
in extensions to define REST endpoints that handle any dynamic calls used by your custom gizmos and templates. UrlMaps
are defined in extensions in the ext.py
in the same way that they are defined in apps:
python
from tethys_sdk.base import TethysExtensionBase
from tethys_sdk.routing import url_map_maker
class MyFirstExtension(TethysExtensionBase):
"""
Tethys extension class for My First Extension.
"""
name = 'My First Extension'
package = 'my_first_extension'
root_url = 'my-first-extension'
description = 'This is my first extension.'
def url_maps(self):
"""
Map controllers to URLs.
"""
UrlMap = url_map_maker(self.root_url)
return (
UrlMap(
name='get_data',
url='my-first-extension/rest/get-data',
controller='my_first_extension.controllers.get_data
),
)