Thanks. Though now I've got this error:
`NameError: name 'project_detail' is not defined`. How would I import
`project_details` into `urls.py`?
My `models.py`
class ProjectLinkPage(Displayable):
# Fields, 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)
`urls.py`
# Trailing slahes for urlpatterns based on setup.
_slash = "/" if settings.APPEND_SLASH else ""
urlpatterns += [
# Some code here
url("^(?P<slug>.*)%s$" % _slash, project_detail, name="project_detail"),
]
On Tuesday, October 24, 2017 at 4:52:05 AM UTC-4, Rainell Dilou Gómez wrote:
>
> Following the Mezzanine blog as an example would be something like this
>
> from mezzanine.conf import settings
>
> # Trailing slahes for urlpatterns based on setup.
> _slash = "/" if settings.APPEND_SLASH else ""
>
> # Blog patterns.
> urlpatterns = [
> url("^(?P<slug>.*)%s$" % _slash, project_detail, name="project_detail"
> ),
> ]
>
> You can also skip that step and write the slash manually
>
> urlpatterns = [
> url("^(?P<slug>.*)/$", project_detail, name="project_detail"),
> ]
>
>
>
> Il giorno domenica 22 ottobre 2017 00:36:31 UTC+2, Tom Tanner ha scritto:
>>
>>
>> Hey all,
>>
>> I've started a new Mezzanine site. I'm trying to make a page where I can
>> post elements from the Admin menu. Kind of l like the Blog section.
>>
>> Here's what my custom class looks like in my app's `models.py`.
>>
>>
>> class ProjectLinkPage(Displayable):
>> '''
>> A page representing the format of the page that
>> has links to standalone, projectlink projectlinks
>> '''
>> categories = models.ManyToManyField("ProjectCategory",
>> verbose_name=_("Categories"),
>> blank=True, related_name="projectlinkposts")
>> # allow_comments = models.BooleanField(verbose_name=_("Allow comments"),
>> # default=False)
>> # comments = CommentsField(verbose_name=_("Comments"))
>> # featured_image = FileField(verbose_name=_("Featured Image"),
>> # upload_to=upload_to("projectlink.ProjectPost.featured_image",
>> "projectlink"),
>> # format="Image", max_length=255, null=True, blank=True)
>> # related_posts = models.ManyToManyField("self",
>> # verbose_name=_("Related posts"), blank=True)
>> # admin_thumb_field = "featured_image"
>>
>>
>> class Meta:
>> verbose_name=_("Project link")
>> verbose_name_plural=_("Project links")
>> ordering=("-publish_date",)
>>
>>
>> def get_absolute_url(self):
>> return self.slug
>>
>> When I open the Admin section, I see "Project links" on the left-side
>> menu. I click it, then click "Add Project Link." I fill out the form and
>> click "save." I then click "View on site." My browser tries to open "
>> http://127.0.0.1:8000/admin/r/32/2/," but I get a browser error: "This
>> page isn't working. 127.0.0.1 sent an invalid response." My terminal looks
>> like this when I clicked "View on site":
>>
>> [21/Oct/2017 22:35:39] "GET /admin/r/32/2/ HTTP/1.1" 302 0
>> [21/Oct/2017 22:35:39] "GET /admin/r/32/2/ HTTP/1.1" 302 0
>>
>> I figure I must be defining `get_absolute_url()` wrong. What must I fix
>> so that 'View on site" leads to the right address?
>>
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.