pub struct Templates { /* private fields */ }Implementations§
Source§impl Templates
impl Templates
Sourcepub fn new(project_templates_dir: Option<PathBuf>) -> Result<Arc<Self>>
pub fn new(project_templates_dir: Option<PathBuf>) -> Result<Arc<Self>>
Build the environment.
project_templates_dir = None → embedded templates only.
project_templates_dir = Some(path) → disk overrides win at
render time. Pass the value of RUSTIO_TEMPLATE_DIR (or your
own resolved path) here.
When a disk root is supplied, the constructor scans it once for
overrides of embedded templates. Each match is logged at INFO;
an override that looks structurally incomplete (no
{% extends %}, no {% block %}, no <html> tag) is logged at
WARN so a one-line stub of an admin template stops being a
silent failure. Non-fatal: the override is still served — the
scan exists only to make the failure mode visible.
Sourcepub fn render<S: Serialize>(&self, name: &str, ctx: &S) -> Result<String>
pub fn render<S: Serialize>(&self, name: &str, ctx: &S) -> Result<String>
Render a template by name.
Sourcepub fn render_for_model<S: Serialize>(
&self,
model: &str,
name: &str,
ctx: &S,
) -> Result<String>
pub fn render_for_model<S: Serialize>( &self, model: &str, name: &str, ctx: &S, ) -> Result<String>
Render with a per-model override hook.
Tries admin/<model>/<page> first (where <page> is name
stripped of any leading admin/), falling back to name.
Consumed by every generic-CRUD render in admin::handlers so
a project can drop templates/admin/<admin_name>/list.html,
…/form.html, …/confirm_delete.html, or
…/object_history.html to override just that one page for
just that one model. The per-model file wins; absent that the
loader falls back to the framework-wide override (the
path-without-model-prefix), then the embedded default.
Auto Trait Implementations§
impl !Freeze for Templates
impl RefUnwindSafe for Templates
impl Send for Templates
impl Sync for Templates
impl Unpin for Templates
impl UnsafeUnpin for Templates
impl UnwindSafe for Templates
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more