I read those, but unfortunately I'm not sure I understand.

I changed my directory a bit, so it's...
theme/
- templates/
-- pages/
--- project_pages/
---- project_base.html
---- projects/
----- some-content.html

My `views.py` changed slightly..
def project_detail(request, slug, template="project_pages/project_base.html"
, extra_context=None):
 '''
 Custom templates are checked for by using the name
 `project_pages/projects/XXX.html`` where `XXX` is the project slug.
 '''
 project = get_object_or_404(Project, slug=slug, status=2)
 context = {
 "project": project,
 "editable_obj": project
 }
 context.update(extra_context or {})
 templates = [u"project_pages/projects/%s.html" % str(slug), template]
 return TemplateResponse(request, templates, context)

I used my site's Admin page to add a `ProjectLinkPage` object with slug 
`some-content.html`, which looks like this:
{% extends "project_base.html" %}
{% load mezzanine_tags keyword_tags %}
{% block main %}
 <p>Here is some content</p>
{% endblock %}

But I still get a 404 error when I go to 
`http://127.0.0.1:8000/projects/some-content/`. I know you mentioned using 
an underscore, but I'd like to access each project page like 
`/projects/name-of-project/`. 

Is this possible?


On Monday, November 6, 2017 at 3:08:12 PM UTC-5, Rainell Dilou Gómez wrote:
>
> Well, you can take advantage of the work you have done so far, that is, 
> you have created your own content type, then you should make the necessary 
> adjustments so that Mezzanine dynamically loads the indicated template, for 
> example by the slug field. Obviously, each slug should correspond to a real 
> template in its files (html, css and js files).
> Before starting with this work, I would recommend you (strongly 
> recommended) to read the *Django documentation about the work with 
> templates <https://docs.djangoproject.com/en/1.11/ref/templates/>* and 
> also the *mezzanine documentation* 
> <http://mezzanine.jupo.org/docs/content-architecture.html#page-templates>.
>
> Il giorno domenica 5 novembre 2017 00:35:50 UTC+1, Tom Tanner ha scritto:
>>
>> Hey everyone,
>>
>> When I go to `http://127.0.0.1:8000/projects/some-slug` 
>> <http://127.0.0.1:8000/projects/some-slug>, I want Mezzanine to fetch 
>> the `project_detail.html` template, which would include `some-slug.html`. 
>> How do I do this? 
>>
>> Here's `urls.py`.
>> url("^projects/(?P<slug>.*)%s$" % _slash, project_detail, name=
>> "project_detail"), 
>>
>>
>>
>> `models.py`.
>> class ProjectLinkPage(Displayable)
>>  '''
>>  A page representing the format of the page that 
>>  has links to standalone, projectlink projectlinks
>>  '''
>>
>>
>>  # Fields and `class Meta`, etc...
>>
>>
>>  @models.permalink
>>  def get_absolute_url(self):
>>  return ("project_detail", (), {"slug": self.slug})
>>
>>
>> `views.py`
>> def project_detail(request, slug, template="projects/project_detail.html"
>> , extra_context=None):
>>  '''
>>  Custom templates are checked for by using the name
>>  `projects/project_detail/XXX.html`` where `XXX` is the project slug.
>>  '''
>>
>>
>>  project = get_object_or_404(Project, slug=slug, status=2)
>>  context = {
>>  "project": project,
>>  "editable_obj": project
>>  }
>>  context.update(extra_context or {})
>>  templates = [u"projects/project_detail/%s.html" % str(slug), template]
>>  return TemplateResponse(request, templates, context)
>>
>> `project_detail.html`
>> {% extends "base.html" %}
>> {% load mezzanine_tags keyword_tags %}
>>
>>
>> {% block meta_title %}
>>  {{ project.meta_title }}
>> {% endblock %}
>>
>>
>> {% block meta_keywords %}
>>  {% metablock %}
>>  {% keywords_for project as tags %}
>>  {% for tag in tags %}{% if not forloop.first %}, {% endif %}{{ tag }}{% 
>> endfor %}
>>  {% endmetablock %}
>> {% endblock %}
>>
>>
>> {% block meta_description %}
>>  {% metablock %}{{ project.description }}{% endmetablock %}
>> {% endblock %}
>>
>>
>> {% block title %}
>>  {{ project.title }} 
>> {% endblock %}
>>
>>
>> {% block main %}
>>  {{ project.content }}
>> {% endblock %}
>>
>> But I'm not sure where to go from here. How do I transfer the slug to 
>> `project_detail.html` so it knows where to look? In this case, I'd have a 
>> folder named `slugs` in the same directory as `project_detail.html`. And 
>> `slugs` would have templates named after slugs.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mezzanine Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mezzanine-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to