问题
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.htmlto have a custom slug, saynicecontent, then fill URL field withnicecontentand add tourl.pya pattern forcontent.htmlwith 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