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")