from django.db import models
from django.utils.text import slugify
from django.conf import settings
from django.urls import reverse
from django.contrib.auth import get_user_model
from django import template
# Create your models here.
User = get_user_model()
register = template.Library()
class Group(models.Model):
name = models.CharField(max_length = 200 , unique = True, verbose_name = 'Enter You Name ' )
slug = models.SlugField(allow_unicode=True , unique = True)
description = models.TextField(blank=True, default='')
description_html = models.TextField(editable=False, default='', blank=True)
members = models.ManyToManyField(User,through="GroupMembers")
def __str__(self):
return self.name
def save(self,*args,**kwargs):
self.slug = slugify(self.name)
super().save(*args,**kwargs)
def get_absolute_url(self):
return reverse("groups:single",kwargs={"slug":self.slug})
class Meta:
ordering = ["name"]
class GroupMembers(models.Model):
group = models.ForeignKey(Group,on_delete = models.CASCADE , related_name='memberships')
user = models.ForeignKey(User , on_delete = models.CASCADE , related_name='user_groups')
def __str__(self):
return self.user
class Meta:
unique_together = ('group' , 'user')
#and the error i am getting is :
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/groups/
Django Version: 2.0.2
Python Version: 3.6.4
Installed Applications:
['accounts',
'groups',
'posts',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bootstrap4']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Template error:
In template C:\Users\anny\Desktop\social_clone4\social_clone\socialclone\templates\base.html, error at line 12
Reverse for 'single' with keyword arguments '{'slug': 'sdas'}' not found. 1 pattern(s) tried: ['groups\\/posts\\/in\\/(?P<slug>[0-9]+)$']
2 : <html lang="en">
3 : <head>
4 : <meta charset="UTF-8">
5 : <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
6 : integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB"
7 : crossorigin="anonymous">
8 : <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
9 : crossorigin="anonymous"></script>
10 : <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
11 : crossorigin="anonymous"></script>
12 : <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn 1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp 0Mk8ck+5T"
13 : crossorigin="anonymous"></script>
14 : <meta name="viewport" content="width=device-width, initial-scale=1.0">
15 : <meta http-equiv="X-UA-Compatible" content="ie=edge">
16 : <title>Simple Social</title>
17 : </head>
18 : <body>
19 : <nav class="navbar navbar-expand-lg navbar-light bg-light">
20 : <div class="collapse navbar-collapse" id="navbarNav">
21 : <ul class="navbar-nav">
22 : <li class="nav-item active">
Traceback:
File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\exception.py" in inner
35. response = get_response(request)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\base.py" in _get_response
158. response = self.process_exception_by_middleware(e, request)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\base.py" in _get_response
156. response = response.render()
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\response.py" in render
106. self.content = self.rendered_content
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\response.py" in rendered_content
83. content = template.render(context, self._request)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\backends\django.py" in render
61. return self.template.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render
175. return self._render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in _render
167. return self.nodelist.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render
943. bit = node.render_annotated(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render_annotated
910. return self.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\loader_tags.py" in render
155. return compiled_parent._render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in _render
167. return self.nodelist.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render
943. bit = node.render_annotated(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render_annotated
910. return self.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\loader_tags.py" in render
155. return compiled_parent._render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in _render
167. return self.nodelist.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render
943. bit = node.render_annotated(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render_annotated
910. return self.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\loader_tags.py" in render
67. result = block.nodelist.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render
943. bit = node.render_annotated(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render_annotated
910. return self.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\loader_tags.py" in render
67. result = block.nodelist.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render
943. bit = node.render_annotated(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render_annotated
910. return self.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\defaulttags.py" in render
211. nodelist.append(node.render_annotated(context))
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\base.py" in render_annotated
910. return self.render(context)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\template\defaulttags.py" in render
447. url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
File "C:\ProgramData\Anaconda3\lib\site-packages\django\urls\base.py" in reverse
88. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "C:\ProgramData\Anaconda3\lib\site-packages\django\urls\resolvers.py" in _reverse_with_prefix
632. raise NoReverseMatch(msg)
Exception Type: NoReverseMatch at /groups/
Exception Value: Reverse for 'single' with keyword arguments '{'slug': 'sdas'}' not found. 1 pattern(s) tried: ['groups\\/posts\\/in\\/(?P<slug>[0-9]+)$']