Looks like you forgot to include the full path:
${request.static_url('/data/uploads/a_named_file')}
Static assets are looked up based on the matching path you registered for the static assets. For your two static view registrations, you use the paths static
and /data/uploads
, respectively. The first one is relative to myapp
, but the second one is an absolute path. When using an absolute path for a static view, you need to use the same absolute path when generating static URLs.