问题
I've been playing around with mezzanine for a couple days and I've been following this blog, which has been very helpful.
I'm now at the point where I need to make a bunch of pages that need to be based off of a custom template. My custom template is called content.html
I've put it in myProject > myApp/theme folder > templates > pages > content.html
but when I look in the admin console, I don't see content in the drop down menu.
How do I get mezzanine to recognize my content.html
page as a template?
回答1:
content.html
will not automatically appear in your site's drop down menu.
You need to go to the admin site and explicitly declare a page my content
where you would like content.html
to appear in your page hierarchy.
For mezzanine to match the two (i.e. template content.html
and admin page my content
):
- Either
my content
's Title field (in admin site) should becontent
, - Or, URL field (in the meta data section of
my content
) should becontent
(if you decide the title will not becontent
), Or, if you want
content.html
to have a custom slug, saynicecontent
, then fill URL field withnicecontent
and add tourl.py
a pattern forcontent.html
with a matching slug, so:url("^nicecontent/$", direct_to_template, {"template": "path/to/content.html"}, name="name_for_content").
回答2:
There's a method Mezzanine uses for looking up template names, from the broadest ("page.html", which all other templates also extend), to templates named for their content types (richtextpage.html, gallery.html, etc), down to the most granular level, which is templates matching the url/slug of individual pages.
This is all covered in the documentation:
http://mezzanine.jupo.org/docs/content-architecture.html#page-templates
It sounds like you might be looking for "page.html", but it's not clear from your question.
来源:https://stackoverflow.com/questions/16841690/how-to-add-a-custom-template-page-to-mezzanine