I'm facing a problem in my Django project, and I need your help. When I try to access the view that handles requests to the post page, I get the following error: post() missing 1 required positional argument: 'slug' This happens when I try to navigate to a URL that should handle viewing a specific post. I have determined the route in urls.py , which takes the slug parameter, and it looks like this: path('post//', post, name='post'), In my post view, I expect to accept this parameter, but it looks like it is not being passed properly. I would really appreciate any help or advice. My models.py: from django.db import models from django.utils.text import slugify from django.contrib.auth import get_user_model from django_resized import ResizedImageField from tinymce.models import HTMLField from hitcount.models import HitCountMixin, HitCount from django.contrib.contenttypes.fields import GenericRelation from taggit.managers import TaggableManager from django.shortcuts import reverse User= get_user_model() class Author(models.Model): user =models.ForeignKey(User,on_delete=models.CASCADE) fullname = models.CharField(max_length=40,blank=True) slug = slug = models.SlugField(max_length=400,unique=True,blank=True) bio = models.TextField(HTMLField) points = models.IntegerField(default=0) profile_pic = ResizedImageField(size=[50,80],quality=100,upload_to='authors',default=None,null=True,blank=True) def __str__(self): return self.fullname def save(self,*args,**kwargs): if not self.slug: self.slug = slugify(self.fullname) super(Author,self).save(*args, **kwargs) class Category(models.Model): title = models.CharField(max_length=50) slug = models.SlugField(max_length=400,unique=True,blank=True) class Meta: verbose_name_plural = 'categories' def __str__(self): return self.title def save(self,*args,**kwargs): if not self.slug: self.slug = slugify(self.title) super(Category,self).save(*args, **kwargs) class Post(models.Model): title = models.CharField(max_length=400) slug = models.SlugField(max_length=400,unique=True,blank=True) user = models.ForeignKey(Author,on_delete=models.CASCADE) content = HTMLField() categories = models.ManyToManyField(Category) date = models.DateTimeField(auto_now_add=True) approved = models.BooleanField(default=False) hit_count_generic =GenericRelation(HitCount,object_id_field='object_pk', related_query_name='hit_count_generic_relation' ) tags = TaggableManager() def save(self,*args,**kwargs): if not self.slug: self.slug = slugify(self.title) super(Post,self).save(*args, **kwargs) def __str__(self): return self.title def get_url(self): return reverse("detail", kwargs={'slug': self.slug}) My urls.py: from django.urls import path from .views import home from .views import detail,post urlpatterns = [ path('', home, name='home'), path('detail/<slug>/', detail, name='detail'), path('post/<slug>/',post,name='posts'), ] My views.py: from django.shortcuts import render,get_object_or_404 from .models import Author,Category,Post from .utils import update_views def home(request): return render(request, 'home.html') def detail(request,slug): post = get_object_or_404(Post,slug=slug) context = { 'post'ost, } update_views(request,post) return render(request, 'detail.html',context) def post(request,slug): category = get_object_or_404(Category,slug=slug) posts= Post.objects.filter(approved=True,categories=category) context={ "posts"osts, } return render(request, 'posts.html',context) def image(request): return render(request, 'detail.html') Continue reading...