The current path ... didn’t match any of these.

Hello!

I’m beginner in Django. And I have a problem with my code. I used uuid for creating a url list. But it doesn’t work (Page not found (404)).

Help me, please. I have been trying to fix code for 5 days, but it wasn’t work.

projects\views.py

from typing_extensions import ParamSpecKwargs
from django.shortcuts import render
from django.http import HttpResponse
from .models import Project


def projects(request):
    projects = Project.objects.all()
    context = {'projects': projects}
    return render(request, 'projects/projects.html', context)


def project(request, pk):
    projectObj = Project.objects.get(id=pk)
    return render(request, 'projects/single-project.html', {'project': projectObj}) 

projects\urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.projects),
    path('project/<str:pk>/', views.project),
] 

projects\models.py

from django.db import models
import uuid


# Create your models here.


class Project(models.Model):
    title = models.CharField(max_length=200)
    description = models.TextField(null=True, blank=True)
    demo_link = models.CharField(max_length=2000, null=True, blank=True)
    source_link = models.CharField(max_length=2000, null=True, blank=True)
    tags = models.ManyToManyField('Tag', blank=True)
    vote_total = models.IntegerField(default=0, null=True, blank=True)
    vote_ratio = models.IntegerField(default=0, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True)
    id = models.UUIDField(default=uuid.uuid4, unique=True,
                          primary_key=True, editable=False)

    def __str__(self):
        return self.title


class Review(models.Model):
    VOTE_TYPE = (
        ('up', 'Up Vote'),
        ('down', 'Down Vote'),
    )
    # owner =
    project = models.ForeignKey(Project, on_delete=models.CASCADE)
    body = models.TextField(null=True, blank=True)
    value = models.CharField(max_length=200, choices=VOTE_TYPE)
    created = models.DateTimeField(auto_now_add=True)
    id = models.UUIDField(default=uuid.uuid4, unique=True,
                          primary_key=True, editable=False)

    def __str__(self):
        return self.value


class Tag(models.Model):
    name = models.CharField(max_length=200)
    created = models.DateTimeField(auto_now_add=True)
    id = models.UUIDField(default=uuid.uuid4, unique=True,
                          primary_key=True, editable=False)

    def __str__(self):
        return self.name

devsearch/urls.py

from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('projects.urls'))
]

What are you submitting as URLs?

(It will be helpful to see the projects.html template)

1 Like

Ken, hello!
Thank you!
I fixed my problem. I just forgot to write a command.

Hello Wersony
Can you tell me a command what you forgot?
I have a bug like you and I can’t fix it.

Hi! There are many possible causes for that error. That’s why it’s important to post the details of your situation. If this is something with which you would like assistance, please go ahead and open a new thread for it.

Then start by posting the complete error (as text, copy/paste into the body of your message) along with your root urls.py file and the urls.py file that you’re trying to use.

When pasting code, templates, errors, tracebacks, etc into your message, surround them with lines of three backtick - ` characters. This means you’ll have a line of ```, then your code, then another line of ```.