I have a problem since I tried to use get_absolute_url(self): to enter in a 
url beyond a photo. When I used , my index.html stopped running.

Here I have the top level url.py

from django.contrib import adminfrom django.urls import path, includefrom 
simplemooc.core import views, urlsfrom simplemooc.courses import views, 
urlsfrom django.conf import settingsfrom django.conf.urls.static import static


urlpatterns = [path('admin/', admin.site.urls),
               path('', include(('simplemooc.core.urls', 'simplemooc'), 
namespace='core')),
               path('cursos', include(('simplemooc.courses.urls', 
'simplemooc'), namespace='courses'))]
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Here courses/url.py

from django.urls import pathfrom simplemooc.courses import views

urlpatterns = [path('', views.index, name='index'),
                   path('/<slug:slug>/', views.details, name='datails')]

Here courses/model.py

from django.db import modelsfrom django.urls import reverse

class CourseManager(models.Manager):

    def search(self, query):
        return self.get_queryset().filter(
            models.Q(name__icontains=query) | \
            models.Q(description__icontains=query)
        )

class Course(models.Model):

    name = models.CharField('Nome', max_length=100)
    slug = models.SlugField('Atalho')
    description = models.TextField('Descrição Simples', blank=True)
    about = models.TextField('Sobre o Curso', blank=True)
    start_date = models.DateField(
        'Data de Início', null=True, blank=True
    )
    image = models.ImageField(
        upload_to='courses/images', verbose_name='Imagem',
        null=True, blank=True
    )

    created_at = models.DateTimeField(
        'Criado em', auto_now_add=True
    )
    updated_at = models.DateTimeField('Atualizado em', auto_now=True)

    objects = CourseManager()

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('courses:datails', (), {'slug': self.slug})

    class Meta:
        verbose_name = 'Curso'
        verbose_name_plural = 'Cursos'
        ordering = ['name']

And here courses/views.py

from django.shortcuts import render, get_object_or_404from django.http import 
HttpResponse
from .models import Course
def index(request):
    courses = Course.objects.all()
    template_name = 'courses\index.html'
    context = {
        'courses': courses
    }
    return render(request, template_name, context)

def details(request, slug):
   course = get_object_or_404(Course, slug=slug)
   context = {
       'course': course
   }
   template_name = 'courses/datails.html'
   return render(request, template_name, context)

My problem happens when I use:

<a href="{{ course.get_absolute_url }}">

in my index.html

Please, Anyone can help me?

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ac9b0445-45e5-4bd9-847e-5e161bf3670b%40googlegroups.com.

Reply via email to