Playframework: пользовательский путь к шаблону

Мне было интересно, можно ли переопределить / добавить к шаблону пути для Playframework? Например, шаблоны по умолчанию просматриваются в папке представлений и компилируются автоматически. Эти шаблоны в дальнейшем доступны напрямую через URL без каких-либо дополнительных настроек.

---app
   |-controllers
   |-models
   |-templates  //How do I compile templates under this folder?
   |-views

Я хотел бы знать, можно ли добавить собственный путь в дополнение к views папка, которая также скомпилирована с процессом сборки. Альтернативно, возможно ли заблокировать определенные шаблоны, чтобы они не были доступны по прямому URL?

Заранее спасибо!

1 ответ

Под app Каталог, Play должен автоматически компилировать все, что выглядит как шаблон Twirl - то есть имеет зарегистрированное расширение, такое как *.scala.html - независимо от того, в каком каталоге он находится. views каталог это просто соглашение, и компиляция шаблонов под app/templates каталог уже должен быть.

Если вы откроете приглашение SBT, вы можете проверить это, выполнив команду:

show twirlCompileTemplates::sourceDirectories

Что должно дать вам что-то вроде:

[info] my-project/compile:twirlCompileTemplates::sourceDirectories
[info]  List(/home/me/my-project/app)

Для добавления каталога шаблонов вне app папку, вы должны иметь возможность добавить что-то вроде следующего в вашем build.sbt (например, каталог extra_templates):

import play.twirl.sbt.Import.TwirlKeys._

sourceDirectories in (Compile, compileTemplates) += file("extra_templates")
Другие вопросы по тегам