-
-
Notifications
You must be signed in to change notification settings - Fork 279
Open
Labels
Description
Assuming this struct:
type S struct {
Name string
Number int
}
The way to use an instance of the structure is to add it to a Context:
ctx := Context{
"mystruct": S
}
And the way to use it in a template is to access the struct members using the Go convention: variables starting with an uppercase letter are exported:
Hello {{ mystruct.Name }}. This is number {{ mystruct.Number }}.
Which works ok, but can be a bit ugly when switching from lowercase names to uppercase. Why not introduce a Go struct tag which renames fields for use in Pongo2? Something like this:
type S struct {
Name string `pongo2:"name"`
Number int `pongo2:"a_number"`
}
This would allow more flexibility and consistency in templates by writing:
Hello {{ mystruct.name }}. This is number {{ mystruct.a_number }}.