Hi, please make reference to link below, looks similar to what you are building https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Generic_views
Also I will read up the documentation to find solution to this issue. You can take a break, you have really worked hard today. On Wednesday, October 6, 2021 at 5:26:19 PM UTC+2 [email protected] wrote: > No, both variants don't work. > > ср, 6 окт. 2021 г. в 18:17, Adeyemi Deji <[email protected]>: > >> Okay, I also noticed something in the TEMPLATES VARIABLE in your >> settings.py file, please make DIRS an empty list like this [] with no space >> or better still change to [os.path.join(BASE_DIR, 'catalog/templates')] >> >> On Wednesday, October 6, 2021 at 5:00:42 PM UTC+2 [email protected] >> wrote: >> >>> Thank you! >>> I corrected as you wrote. But I also have this mistake ( >>> TemplateDoesNotExist at /catalog/books/ >>> catalog/book_list.html, catalog/book_list.html). >>> Might I take the wrong path? (my path is below picture) >>> Also thank you for helping me. I am grateful to you. I have had this >>> problem for 1 week. >>> [image: image.png] >>> >>> >>> ср, 6 окт. 2021 г. в 16:19, Adeyemi Deji <[email protected]>: >>> >>>> correct paginated_by to paginate_by. >>>> >>>> >>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> >>>> Virus-free. >>>> www.avast.com >>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> >>>> >>>> <#m_-1143733024743841618_m_-1887519385446215222_m_-4865023885270008228_m_2700252164806904525_m_-6914425398611891894_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>> >>>> On Wed, Oct 6, 2021 at 3:17 PM Adeyemi Deji <[email protected]> >>>> wrote: >>>> >>>>> Please correct your class views, you are getting it wrong. >>>>> it should look like this. >>>>> >>>>> class BookListView(generic.ListView): >>>>> model = Book >>>>> paginated_by = 10 >>>>> template_name = "catalog/book_list.html" >>>>> >>>>> class BookDetailView(generic.DetailView): >>>>> model = Book >>>>> template_name = "catalog/book_detail.html" >>>>> >>>>> >>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> >>>>> Virus-free. >>>>> www.avast.com >>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> >>>>> >>>>> <#m_-1143733024743841618_m_-1887519385446215222_m_-4865023885270008228_m_2700252164806904525_m_-6914425398611891894_m_1024950781820118978_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>> >>>>> On Wed, Oct 6, 2021 at 3:09 PM Никита Назаров <[email protected]> >>>>> wrote: >>>>> >>>>>> It also doesn't work. I see this error :"TemplateDoesNotExist at >>>>>> /catalog/books/ catalog/book_list.html, catalog/book_list.html" >>>>>> My views.py is below. >>>>>> Also, I checked on GitHub Mozilla ( >>>>>> https://github.com/mdn/django-locallibrary-tutorial/blob/master/catalog/views.py). >>>>>> >>>>>> They didn't use - template_name. >>>>>> I'm completely confused. >>>>>> >>>>>> from .models import Book, Author, BookInstance, Genre >>>>>> from django.views import generic >>>>>> from django.shortcuts import render >>>>>> from django.views.generic.base import TemplateView >>>>>> >>>>>> # Create your views here. >>>>>> >>>>>> >>>>>> def index(request): >>>>>> """View function for home page of site.""" >>>>>> >>>>>> # Generate counts of some of the main objects >>>>>> num_books = Book.objects.all().count() >>>>>> num_instances = BookInstance.objects.all().count() >>>>>> >>>>>> # Available books (status = 'a') >>>>>> num_instances_available = BookInstance.objects.filter( >>>>>> status__exact='a').count() >>>>>> >>>>>> # The 'all()' is implied by default. >>>>>> num_authors = Author.objects.count() >>>>>> >>>>>> context = { >>>>>> 'num_books': num_books, >>>>>> 'num_instances': num_instances, >>>>>> 'num_instances_available': num_instances_available, >>>>>> 'num_authors': num_authors, >>>>>> } >>>>>> >>>>>> # Render the HTML template index.html with the data in the context >>>>>> variable >>>>>> return render(request, 'index.html', context=context) >>>>>> >>>>>> >>>>>> class BookListView(generic.ListView): >>>>>> >>>>>> """Generic class-based view for a list of books.""" >>>>>> >>>>>> model = Book >>>>>> paginate_by = 10 >>>>>> template_name = "catalog/book_list.html" >>>>>> >>>>>> >>>>>> class BookDetailView(generic.DetailView): >>>>>> >>>>>> """Generic class-based detail view for a book.""" >>>>>> model = Book >>>>>> template_name = "catalog/book_detail.html" >>>>>> >>>>>> >>>>>> >>>>>> ср, 6 окт. 2021 г. в 14:24, Adeyemi Deji <[email protected]>: >>>>>> >>>>>>> class BookListView(generic.ListView): >>>>>>> >>>>>>> """Generic class-based view for a list of books.""" >>>>>>> >>>>>>> model = Book >>>>>>> >>>>>>> paginate_by = 10 >>>>>>> >>>>>>> template_name = "catalog/book_list.html" >>>>>>> >>>>>>> >>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> >>>>>>> Virus-free. >>>>>>> www.avast.com >>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> >>>>>>> >>>>>>> <#m_-1143733024743841618_m_-1887519385446215222_m_-4865023885270008228_m_2700252164806904525_m_-6914425398611891894_m_1024950781820118978_m_8455319138707163929_m_3791702616293114032_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>> >>>>>>> On Wed, Oct 6, 2021 at 1:21 PM Adeyemi Deji <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Please don't change your formal code setting, just add the >>>>>>>> template_name attribute and specify the template you are referring to >>>>>>>> just add this to your former code: >>>>>>>> template_name = "catalog/book_list.html" >>>>>>>> >>>>>>>> >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> >>>>>>>> Virus-free. >>>>>>>> www.avast.com >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> >>>>>>>> >>>>>>>> <#m_-1143733024743841618_m_-1887519385446215222_m_-4865023885270008228_m_2700252164806904525_m_-6914425398611891894_m_1024950781820118978_m_8455319138707163929_m_3791702616293114032_m_2104138296797754165_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>>> >>>>>>>> On Wed, Oct 6, 2021 at 1:09 PM Никита Назаров <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> It doesn't seem to work. I wrote your example in views.py. >>>>>>>>> Or I might make mistakes. Could you see? >>>>>>>>> >>>>>>>>> views. py >>>>>>>>> from .models import Book, Author, BookInstance, Genre >>>>>>>>> from django.views import generic >>>>>>>>> from django.shortcuts import render >>>>>>>>> from django.views.generic.base import TemplateView >>>>>>>>> >>>>>>>>> # Create your views here. >>>>>>>>> >>>>>>>>> >>>>>>>>> def index(request): >>>>>>>>> """View function for home page of site.""" >>>>>>>>> >>>>>>>>> # Generate counts of some of the main objects >>>>>>>>> num_books = Book.objects.all().count() >>>>>>>>> num_instances = BookInstance.objects.all().count() >>>>>>>>> >>>>>>>>> # Available books (status = 'a') >>>>>>>>> num_instances_available = BookInstance.objects.filter( >>>>>>>>> status__exact='a').count() >>>>>>>>> >>>>>>>>> # The 'all()' is implied by default. >>>>>>>>> num_authors = Author.objects.count() >>>>>>>>> >>>>>>>>> context = { >>>>>>>>> 'num_books': num_books, >>>>>>>>> 'num_instances': num_instances, >>>>>>>>> 'num_instances_available': num_instances_available, >>>>>>>>> 'num_authors': num_authors, >>>>>>>>> } >>>>>>>>> >>>>>>>>> # Render the HTML template index.html with the data in the context >>>>>>>>> variable >>>>>>>>> return render(request, 'catalog/index.html', context=context) >>>>>>>>> >>>>>>>>> >>>>>>>>> class BookListView(TemplateView): >>>>>>>>> template_name = "catalog/book_list.html" >>>>>>>>> >>>>>>>>> >>>>>>>>> class BookDetailView(TemplateView): >>>>>>>>> template_name = "catalog/book_detail.html" >>>>>>>>> >>>>>>>>> >>>>>>>>> urls.py >>>>>>>>> from django.urls import path >>>>>>>>> from . import views >>>>>>>>> >>>>>>>>> >>>>>>>>> urlpatterns = [ >>>>>>>>> path('', views.index, name='index'), >>>>>>>>> path('books/', views.BookListView.as_view(), name='books'), >>>>>>>>> path('book/<int:pk>', views.BookDetailView.as_view(), name= >>>>>>>>> 'book-detail'), >>>>>>>>> ] >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> ср, 6 окт. 2021 г. в 12:45, Adeyemi Deji <[email protected]>: >>>>>>>>> >>>>>>>>>> for example. >>>>>>>>>> >>>>>>>>>> class AboutView(TemplateView): >>>>>>>>>> template_name = "about.html" >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Oct 6, 2021 at 11:32 AM Никита Назаров < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hello! >>>>>>>>>>> Thank you! >>>>>>>>>>> I'm sorry. How could I do this? >>>>>>>>>>> >>>>>>>>>>> среда, 6 октября 2021 г. в 11:20:19 UTC+3, [email protected]: >>>>>>>>>>> >>>>>>>>>>>> Hi, I observed that you didn't specify the template name >>>>>>>>>>>> attribute for the BookListView and BookDetailView, that should >>>>>>>>>>>> solve you >>>>>>>>>>>> problem. >>>>>>>>>>>> >>>>>>>>>>>> On Tuesday, October 5, 2021 at 10:37:19 PM UTC+2 >>>>>>>>>>>> [email protected] wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hello! >>>>>>>>>>>>> I’m beginner in Django. I do Django Tutorial from Mozilla. >>>>>>>>>>>>> I get TemplateDoesNotExist at /catalog/books/ . Could you help >>>>>>>>>>>>> me?. I don’t understand how to resolve it. >>>>>>>>>>>>> >>>>>>>>>>>>> */catalog/urls* >>>>>>>>>>>>> >>>>>>>>>>>>> from django.urls import path >>>>>>>>>>>>> >>>>>>>>>>>>> from . import views >>>>>>>>>>>>> >>>>>>>>>>>>> urlpatterns = [ >>>>>>>>>>>>> >>>>>>>>>>>>> path('', views.index, name='index'), >>>>>>>>>>>>> >>>>>>>>>>>>> path('books/', views.BookListView.as_view(), name='books'), >>>>>>>>>>>>> >>>>>>>>>>>>> path('book/<int:pk>', views.BookDetailView.as_view(), >>>>>>>>>>>>> name='book-detail'), >>>>>>>>>>>>> >>>>>>>>>>>>> ] >>>>>>>>>>>>> >>>>>>>>>>>>> *catalog/models* >>>>>>>>>>>>> >>>>>>>>>>>>> # Used to generate URLs by reversing the URL patterns >>>>>>>>>>>>> >>>>>>>>>>>>> from django.urls import reverse >>>>>>>>>>>>> >>>>>>>>>>>>> from django.db import models >>>>>>>>>>>>> >>>>>>>>>>>>> from django.urls import reverse >>>>>>>>>>>>> >>>>>>>>>>>>> import uuid >>>>>>>>>>>>> >>>>>>>>>>>>> # Create your models here >>>>>>>>>>>>> >>>>>>>>>>>>> class Genre(models.Model): >>>>>>>>>>>>> >>>>>>>>>>>>> """Model representing a book genre (e.g. Science Fiction, >>>>>>>>>>>>> Non Fiction).""" >>>>>>>>>>>>> >>>>>>>>>>>>> name = models.CharField( >>>>>>>>>>>>> >>>>>>>>>>>>> max_length=200, >>>>>>>>>>>>> >>>>>>>>>>>>> help_text="Enter a book genre (e.g. Science Fiction, >>>>>>>>>>>>> French Poetry etc.)" >>>>>>>>>>>>> >>>>>>>>>>>>> ) >>>>>>>>>>>>> >>>>>>>>>>>>> def __str__(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """String for representing the Model object (in Admin >>>>>>>>>>>>> site etc.)""" >>>>>>>>>>>>> >>>>>>>>>>>>> return self.name >>>>>>>>>>>>> >>>>>>>>>>>>> class Book(models.Model): >>>>>>>>>>>>> >>>>>>>>>>>>> """Model representing a book (but not a specific copy of a >>>>>>>>>>>>> book).""" >>>>>>>>>>>>> >>>>>>>>>>>>> title = models.CharField(max_length=200) >>>>>>>>>>>>> >>>>>>>>>>>>> author = models.ForeignKey('Author', >>>>>>>>>>>>> on_delete=models.SET_NULL, null=True) >>>>>>>>>>>>> >>>>>>>>>>>>> # Foreign Key used because book can only have one author, >>>>>>>>>>>>> but authors can have multiple books >>>>>>>>>>>>> >>>>>>>>>>>>> # Author as a string rather than object because it hasn't >>>>>>>>>>>>> been declared yet in file. >>>>>>>>>>>>> >>>>>>>>>>>>> summary = models.TextField( >>>>>>>>>>>>> >>>>>>>>>>>>> max_length=1000, help_text="Enter a brief description >>>>>>>>>>>>> of the book") >>>>>>>>>>>>> >>>>>>>>>>>>> isbn = models.CharField('ISBN', max_length=13, >>>>>>>>>>>>> >>>>>>>>>>>>> unique=True, >>>>>>>>>>>>> >>>>>>>>>>>>> help_text='13 Character <a href=" >>>>>>>>>>>>> https://www.isbn-international.org/content/what-isbn' >>>>>>>>>>>>> >>>>>>>>>>>>> '">ISBN number</a>') >>>>>>>>>>>>> >>>>>>>>>>>>> genre = models.ManyToManyField( >>>>>>>>>>>>> >>>>>>>>>>>>> Genre, help_text="Select a genre for this book") >>>>>>>>>>>>> >>>>>>>>>>>>> # ManyToManyField used because a genre can contain many >>>>>>>>>>>>> books and a Book can cover many genres. >>>>>>>>>>>>> >>>>>>>>>>>>> # Genre class has already been defined so we can specify >>>>>>>>>>>>> the object above. >>>>>>>>>>>>> >>>>>>>>>>>>> language = models.ForeignKey( >>>>>>>>>>>>> >>>>>>>>>>>>> 'Language', on_delete=models.SET_NULL, null=True) >>>>>>>>>>>>> >>>>>>>>>>>>> class Meta: >>>>>>>>>>>>> >>>>>>>>>>>>> ordering = ['title', 'author'] >>>>>>>>>>>>> >>>>>>>>>>>>> def display_genre(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """Creates a string for the Genre. This is required to >>>>>>>>>>>>> display genre in Admin.""" >>>>>>>>>>>>> >>>>>>>>>>>>> return ', '.join([genre.name for genre in >>>>>>>>>>>>> self.genre.all()[:3]]) >>>>>>>>>>>>> >>>>>>>>>>>>> display_genre.short_description = 'Genre' >>>>>>>>>>>>> >>>>>>>>>>>>> def get_absolute_url(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """Returns the url to access a particular book >>>>>>>>>>>>> instance.""" >>>>>>>>>>>>> >>>>>>>>>>>>> return reverse('book-detail', args=[str(self.id)]) >>>>>>>>>>>>> >>>>>>>>>>>>> def __str__(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """String for representing the Model object.""" >>>>>>>>>>>>> >>>>>>>>>>>>> return self.title >>>>>>>>>>>>> >>>>>>>>>>>>> class Language(models.Model): >>>>>>>>>>>>> >>>>>>>>>>>>> name = models.CharField( >>>>>>>>>>>>> >>>>>>>>>>>>> max_length=50, help_text="Enter the book's natural >>>>>>>>>>>>> language (e.g. English, French, Japanese etc.)") >>>>>>>>>>>>> >>>>>>>>>>>>> def __str__(self): >>>>>>>>>>>>> >>>>>>>>>>>>> return self.name >>>>>>>>>>>>> >>>>>>>>>>>>> class BookInstance(models.Model): >>>>>>>>>>>>> >>>>>>>>>>>>> id = models.UUIDField(primary_key=True, default=uuid.uuid4, >>>>>>>>>>>>> >>>>>>>>>>>>> help_text="Unique ID for this >>>>>>>>>>>>> particular book across whole library") >>>>>>>>>>>>> >>>>>>>>>>>>> book = models.ForeignKey('Book', >>>>>>>>>>>>> on_delete=models.SET_NULL, null=True) >>>>>>>>>>>>> >>>>>>>>>>>>> imprint = models.CharField(max_length=200) >>>>>>>>>>>>> >>>>>>>>>>>>> due_back = models.DateField(null=True, blank=True) >>>>>>>>>>>>> >>>>>>>>>>>>> LOAN_STATUS = ( >>>>>>>>>>>>> >>>>>>>>>>>>> ('m', 'Maintenance'), >>>>>>>>>>>>> >>>>>>>>>>>>> ('o', 'On loan'), >>>>>>>>>>>>> >>>>>>>>>>>>> ('a', 'Available'), >>>>>>>>>>>>> >>>>>>>>>>>>> ('r', 'Reserved'), >>>>>>>>>>>>> >>>>>>>>>>>>> ) >>>>>>>>>>>>> >>>>>>>>>>>>> status = models.CharField(max_length=1, >>>>>>>>>>>>> choices=LOAN_STATUS, >>>>>>>>>>>>> >>>>>>>>>>>>> blank=True, default='m', >>>>>>>>>>>>> help_text='Book availability') >>>>>>>>>>>>> >>>>>>>>>>>>> class Meta: >>>>>>>>>>>>> >>>>>>>>>>>>> ordering = ["due_back"] >>>>>>>>>>>>> >>>>>>>>>>>>> def __str__(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> String for representing the Model object >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> return '%s (%s)' % (self.id, self.book.title) >>>>>>>>>>>>> >>>>>>>>>>>>> class Author(models.Model): >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> Model representing an author. >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> first_name = models.CharField(max_length=100) >>>>>>>>>>>>> >>>>>>>>>>>>> last_name = models.CharField(max_length=100) >>>>>>>>>>>>> >>>>>>>>>>>>> date_of_birth = models.DateField(null=True, blank=True) >>>>>>>>>>>>> >>>>>>>>>>>>> date_of_death = models.DateField('Died', null=True, >>>>>>>>>>>>> blank=True) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> def get_absolute_url(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> Returns the url to access a particular author instance. >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> return reverse('author-detail', args=[str(self.id)]) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> def __str__(self): >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> String for representing the Model object. >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> return '%s, %s' % (self.last_name, self.first_name) >>>>>>>>>>>>> >>>>>>>>>>>>> *catalog/views* >>>>>>>>>>>>> >>>>>>>>>>>>> from django.views import generic >>>>>>>>>>>>> >>>>>>>>>>>>> from django.shortcuts import render >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Create your views here. >>>>>>>>>>>>> >>>>>>>>>>>>> from .models import Book, Author, BookInstance, Genre >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> def index(request): >>>>>>>>>>>>> >>>>>>>>>>>>> """View function for home page of site.""" >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Generate counts of some of the main objects >>>>>>>>>>>>> >>>>>>>>>>>>> num_books = Book.objects.all().count() >>>>>>>>>>>>> >>>>>>>>>>>>> num_instances = BookInstance.objects.all().count() >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Available books (status = 'a') >>>>>>>>>>>>> >>>>>>>>>>>>> num_instances_available = BookInstance.objects.filter( >>>>>>>>>>>>> >>>>>>>>>>>>> status__exact='a').count() >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # The 'all()' is implied by default. >>>>>>>>>>>>> >>>>>>>>>>>>> num_authors = Author.objects.count() >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> context = { >>>>>>>>>>>>> >>>>>>>>>>>>> 'num_books': num_books, >>>>>>>>>>>>> >>>>>>>>>>>>> 'num_instances': num_instances, >>>>>>>>>>>>> >>>>>>>>>>>>> 'num_instances_available': num_instances_available, >>>>>>>>>>>>> >>>>>>>>>>>>> 'num_authors': num_authors, >>>>>>>>>>>>> >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Render the HTML template index.html with the data in the >>>>>>>>>>>>> context variable >>>>>>>>>>>>> >>>>>>>>>>>>> return render(request, 'catalog/index.html', >>>>>>>>>>>>> context=context) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> class BookListView(generic.ListView): >>>>>>>>>>>>> >>>>>>>>>>>>> """Generic class-based view for a list of books.""" >>>>>>>>>>>>> >>>>>>>>>>>>> model = Book >>>>>>>>>>>>> >>>>>>>>>>>>> paginate_by = 10 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> class BookDetailView(generic.DetailView): >>>>>>>>>>>>> >>>>>>>>>>>>> """Generic class-based detail view for a book.""" >>>>>>>>>>>>> >>>>>>>>>>>>> model = Book >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> *locallibrary/settings.py* >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> Django settings for locallibrary project. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Generated by 'django-admin startproject' using Django 3.2.7. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> For more information on this file, see >>>>>>>>>>>>> >>>>>>>>>>>>> https://docs.djangoproject.com/en/3.2/topics/settings/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> For the full list of settings and their values, see >>>>>>>>>>>>> >>>>>>>>>>>>> https://docs.djangoproject.com/en/3.2/ref/settings/ >>>>>>>>>>>>> >>>>>>>>>>>>> """ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> import os >>>>>>>>>>>>> >>>>>>>>>>>>> from pathlib import Path >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Build paths inside the project like this: BASE_DIR / >>>>>>>>>>>>> 'subdir'. >>>>>>>>>>>>> >>>>>>>>>>>>> BASE_DIR = Path(__file__).resolve().parent.parent >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Quick-start development settings - unsuitable for production >>>>>>>>>>>>> >>>>>>>>>>>>> # See >>>>>>>>>>>>> https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # SECURITY WARNING: keep the secret key used in production >>>>>>>>>>>>> secret! >>>>>>>>>>>>> >>>>>>>>>>>>> SECRET_KEY = >>>>>>>>>>>>> 'django-insecure-k6nhe44hm-a90^cs6**sre$8ajn7u!e735ou4c(1iqk-ga&g!9' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # SECURITY WARNING: don't run with debug turned on in >>>>>>>>>>>>> production! >>>>>>>>>>>>> >>>>>>>>>>>>> DEBUG = os.environ.get('DJANGO_DEBUG', '') != 'False' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> ALLOWED_HOSTS = [] >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Application definition >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> INSTALLED_APPS = [ >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.admin', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.auth', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.contenttypes', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.sessions', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.messages', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.staticfiles', >>>>>>>>>>>>> >>>>>>>>>>>>> 'catalog.apps.CatalogConfig', >>>>>>>>>>>>> >>>>>>>>>>>>> ] >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 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', >>>>>>>>>>>>> >>>>>>>>>>>>> ] >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> ROOT_URLCONF = 'locallibrary.urls' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> TEMPLATES = [ >>>>>>>>>>>>> >>>>>>>>>>>>> { >>>>>>>>>>>>> >>>>>>>>>>>>> 'BACKEND': >>>>>>>>>>>>> 'django.template.backends.django.DjangoTemplates', >>>>>>>>>>>>> >>>>>>>>>>>>> 'DIRS': [os.path.join(BASE_DIR, 'templates')], >>>>>>>>>>>>> >>>>>>>>>>>>> 'APP_DIRS': True, >>>>>>>>>>>>> >>>>>>>>>>>>> 'OPTIONS': { >>>>>>>>>>>>> >>>>>>>>>>>>> 'context_processors': [ >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.template.context_processors.debug', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.template.context_processors.request', >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.auth.context_processors.auth', >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 'django.contrib.messages.context_processors.messages', >>>>>>>>>>>>> >>>>>>>>>>>>> ], >>>>>>>>>>>>> >>>>>>>>>>>>> }, >>>>>>>>>>>>> >>>>>>>>>>>>> }, >>>>>>>>>>>>> >>>>>>>>>>>>> ] >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> WSGI_APPLICATION = 'locallibrary.wsgi.application' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Database >>>>>>>>>>>>> >>>>>>>>>>>>> # >>>>>>>>>>>>> https://docs.djangoproject.com/en/3.2/ref/settings/#databases >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> DATABASES = { >>>>>>>>>>>>> >>>>>>>>>>>>> 'default': { >>>>>>>>>>>>> >>>>>>>>>>>>> 'ENGINE': 'django.db.backends.sqlite3', >>>>>>>>>>>>> >>>>>>>>>>>>> 'NAME': BASE_DIR / 'db.sqlite3', >>>>>>>>>>>>> >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Password validation >>>>>>>>>>>>> >>>>>>>>>>>>> # >>>>>>>>>>>>> https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> AUTH_PASSWORD_VALIDATORS = [ >>>>>>>>>>>>> >>>>>>>>>>>>> { >>>>>>>>>>>>> >>>>>>>>>>>>> 'NAME': >>>>>>>>>>>>> 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', >>>>>>>>>>>>> >>>>>>>>>>>>> }, >>>>>>>>>>>>> >>>>>>>>>>>>> { >>>>>>>>>>>>> >>>>>>>>>>>>> 'NAME': >>>>>>>>>>>>> 'django.contrib.auth.password_validation.MinimumLengthValidator', >>>>>>>>>>>>> >>>>>>>>>>>>> }, >>>>>>>>>>>>> >>>>>>>>>>>>> { >>>>>>>>>>>>> >>>>>>>>>>>>> 'NAME': >>>>>>>>>>>>> 'django.contrib.auth.password_validation.CommonPasswordValidator', >>>>>>>>>>>>> >>>>>>>>>>>>> }, >>>>>>>>>>>>> >>>>>>>>>>>>> { >>>>>>>>>>>>> >>>>>>>>>>>>> 'NAME': >>>>>>>>>>>>> 'django.contrib.auth.password_validation.NumericPasswordValidator', >>>>>>>>>>>>> >>>>>>>>>>>>> }, >>>>>>>>>>>>> >>>>>>>>>>>>> ] >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Internationalization >>>>>>>>>>>>> >>>>>>>>>>>>> # https://docs.djangoproject.com/en/3.2/topics/i18n/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> LANGUAGE_CODE = 'en-us' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> TIME_ZONE = 'Europe/London' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> USE_I18N = True >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> USE_L10N = True >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> USE_TZ = True >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Static files (CSS, JavaScript, Images) >>>>>>>>>>>>> >>>>>>>>>>>>> # https://docs.djangoproject.com/en/3.2/howto/static-files/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> STATIC_URL = '/static/' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> # Default primary key field type >>>>>>>>>>>>> >>>>>>>>>>>>> # >>>>>>>>>>>>> https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> *Path templates* >>>>>>>>>>>>> locallibrary >>>>>>>>>>>>> -----catalog >>>>>>>>>>>>> ------ templates >>>>>>>>>>>>> ------ base_generis.html >>>>>>>>>>>>> -------book_detail.html >>>>>>>>>>>>> ----------catalog >>>>>>>>>>>>> ----------book_list.html >>>>>>>>>>>>> ----------index.html >>>>>>>>>>>>> >>>>>>>>>>>>> *book_list.html* >>>>>>>>>>>>> >>>>>>>>>>>>> {% extends "base_generic.html" %} >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> {% block content %} >>>>>>>>>>>>> >>>>>>>>>>>>> <h1>Book List</h1> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> {% if book_list %} >>>>>>>>>>>>> >>>>>>>>>>>>> <ul> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> {% for book in book_list %} >>>>>>>>>>>>> >>>>>>>>>>>>> <li> >>>>>>>>>>>>> >>>>>>>>>>>>> <a href="{{ book.get_absolute_url }}">{{ book.title >>>>>>>>>>>>> }}</a> ({{book.author}}) >>>>>>>>>>>>> >>>>>>>>>>>>> </li> >>>>>>>>>>>>> >>>>>>>>>>>>> {% endfor %} >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> </ul> >>>>>>>>>>>>> >>>>>>>>>>>>> {% else %} >>>>>>>>>>>>> >>>>>>>>>>>>> <p>There are no books in the library.</p> >>>>>>>>>>>>> >>>>>>>>>>>>> {% endif %} >>>>>>>>>>>>> >>>>>>>>>>>>> {% endblock %} >>>>>>>>>>>>> >>>>>>>>>>>>> *index.html* >>>>>>>>>>>>> >>>>>>>>>>>>> {% extends "base_generic.html" %} >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> {% block title %} >>>>>>>>>>>>> >>>>>>>>>>>>> <title>Стартовая страница</title> >>>>>>>>>>>>> >>>>>>>>>>>>> {% endblock %} >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> {% block content %} >>>>>>>>>>>>> >>>>>>>>>>>>> <h1>Local Library Home</h1> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> <p>Welcome to <em>LocalLibrary</em>, a very basic Django >>>>>>>>>>>>> website developed as a tutorial example on the Mozilla >>>>>>>>>>>>> >>>>>>>>>>>>> Developer Network.</p> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> <h2>Dynamic content</h2> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> <p>The library has the following record counts:</p> >>>>>>>>>>>>> >>>>>>>>>>>>> <ul> >>>>>>>>>>>>> >>>>>>>>>>>>> <li><strong>Books:</strong> {{ num_books }}</li> >>>>>>>>>>>>> >>>>>>>>>>>>> <li><strong>Copies:</strong> {{ num_instances }}</li> >>>>>>>>>>>>> >>>>>>>>>>>>> <li><strong>Copies available:</strong> {{ >>>>>>>>>>>>> num_instances_available }}</li> >>>>>>>>>>>>> >>>>>>>>>>>>> <li><strong>Authors:</strong> {{ num_authors }}</li> >>>>>>>>>>>>> >>>>>>>>>>>>> </ul> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> {% endblock %} >>>>>>>>>>>>> >>>>>>>>>>>>> *traceback message* >>>>>>>>>>>>> >>>>>>>>>>>>> Environment: >>>>>>>>>>>>> >>>>>>>>>>>>> Request Method: GET >>>>>>>>>>>>> Request URL: http://127.0.0.1:8000/catalog/books/ >>>>>>>>>>>>> >>>>>>>>>>>>> Django Version: 3.2.7 >>>>>>>>>>>>> Python Version: 3.9.7 >>>>>>>>>>>>> Installed Applications: >>>>>>>>>>>>> [‘django.contrib.admin’, >>>>>>>>>>>>> ‘django.contrib.auth’, >>>>>>>>>>>>> ‘django.contrib.contenttypes’, >>>>>>>>>>>>> ‘django.contrib.sessions’, >>>>>>>>>>>>> ‘django.contrib.messages’, >>>>>>>>>>>>> ‘django.contrib.staticfiles’, >>>>>>>>>>>>> ‘catalog.apps.CatalogConfig’] >>>>>>>>>>>>> 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 loader postmortem >>>>>>>>>>>>> Django tried loading these templates, in this order: >>>>>>>>>>>>> >>>>>>>>>>>>> Using engine django: >>>>>>>>>>>>> * django.template.loaders.filesystem.Loader: >>>>>>>>>>>>> /Users/nikita/Documents/Github/devsearch/hello-world/locallibrary/templates/catalog/book_list.html >>>>>>>>>>>>> >>>>>>>>>>>>> (Source does not exist) >>>>>>>>>>>>> * django.template.loaders.app_directories.Loader: >>>>>>>>>>>>> /Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/contrib/admin/templates/catalog/book_list.html >>>>>>>>>>>>> >>>>>>>>>>>>> (Source does not exist) >>>>>>>>>>>>> * django.template.loaders.app_directories.Loader: >>>>>>>>>>>>> /Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/contrib/auth/templates/catalog/book_list.html >>>>>>>>>>>>> >>>>>>>>>>>>> (Source does not exist) >>>>>>>>>>>>> * django.template.loaders.app_directories.Loader: >>>>>>>>>>>>> /Users/nikita/Documents/Github/devsearch/hello-world/locallibrary/catalog/templates/catalog/book_list.html >>>>>>>>>>>>> >>>>>>>>>>>>> (Source does not exist) >>>>>>>>>>>>> >>>>>>>>>>>>> Traceback (most recent call last): >>>>>>>>>>>>> File >>>>>>>>>>>>> “/Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/core/handlers/exception.py”, >>>>>>>>>>>>> >>>>>>>>>>>>> line 47, in inner >>>>>>>>>>>>> response = get_response(request) >>>>>>>>>>>>> File >>>>>>>>>>>>> “/Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/core/handlers/base.py”, >>>>>>>>>>>>> >>>>>>>>>>>>> line 204, in _get_response >>>>>>>>>>>>> response = response.render() >>>>>>>>>>>>> File >>>>>>>>>>>>> “/Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/template/response.py”, >>>>>>>>>>>>> >>>>>>>>>>>>> line 105, in render >>>>>>>>>>>>> self.content = self.rendered_content >>>>>>>>>>>>> File >>>>>>>>>>>>> “/Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/template/response.py”, >>>>>>>>>>>>> >>>>>>>>>>>>> line 81, in rendered_content >>>>>>>>>>>>> template = self.resolve_template(self.template_name) >>>>>>>>>>>>> File >>>>>>>>>>>>> “/Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/template/response.py”, >>>>>>>>>>>>> >>>>>>>>>>>>> line 63, in resolve_template >>>>>>>>>>>>> return select_template(template, using=self.using) >>>>>>>>>>>>> File >>>>>>>>>>>>> “/Users/nikita/Documents/Github/devsearch/hello-world/myproject_env/lib/python3.9/site-packages/django/template/loader.py”, >>>>>>>>>>>>> >>>>>>>>>>>>> line 47, in select_template >>>>>>>>>>>>> raise TemplateDoesNotExist(’, '.join(template_name_list), >>>>>>>>>>>>> chain=chain) >>>>>>>>>>>>> >>>>>>>>>>>>> Exception Type: TemplateDoesNotExist at /catalog/books/ >>>>>>>>>>>>> Exception Value: catalog/book_list.html >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>> 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/17c51485-19f7-4693-aa4d-1e69e9a7ddd8n%40googlegroups.com >>>>>>>>>>> >>>>>>>>>>> <https://groups.google.com/d/msgid/django-users/17c51485-19f7-4693-aa4d-1e69e9a7ddd8n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to a topic >>>>>>>>>> in the Google Groups "Django users" group. >>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>> https://groups.google.com/d/topic/django-users/8R6KRoYcHM0/unsubscribe >>>>>>>>>> . >>>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>>> to [email protected]. >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/d/msgid/django-users/CAEO1GrrcCMRPuhkE_4xN8WJkRdf7LTYCbFNxSP4jfwK3Gq2QWQ%40mail.gmail.com >>>>>>>>>> >>>>>>>>>> <https://groups.google.com/d/msgid/django-users/CAEO1GrrcCMRPuhkE_4xN8WJkRdf7LTYCbFNxSP4jfwK3Gq2QWQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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/CAHynOmyfD4VbUiT-CDV-8mM8x5hk1B7FAcfVF3bGHAuLtx0vhQ%40mail.gmail.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/d/msgid/django-users/CAHynOmyfD4VbUiT-CDV-8mM8x5hk1B7FAcfVF3bGHAuLtx0vhQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon> >>>>>>>> Virus-free. >>>>>>>> www.avast.com >>>>>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link> >>>>>>>> >>>>>>>> <#m_-1143733024743841618_m_-1887519385446215222_m_-4865023885270008228_m_2700252164806904525_m_-6914425398611891894_m_1024950781820118978_m_8455319138707163929_m_3791702616293114032_m_2104138296797754165_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >>>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "Django users" group. >>>>>>> To unsubscribe from this topic, visit >>>>>>> https://groups.google.com/d/topic/django-users/8R6KRoYcHM0/unsubscribe >>>>>>> . >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> [email protected]. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/django-users/CAEO1Grq_aBWNFaKKjLXoDMYw4vK27auQZH4OxZtdzAHfEgSuhw%40mail.gmail.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/django-users/CAEO1Grq_aBWNFaKKjLXoDMYw4vK27auQZH4OxZtdzAHfEgSuhw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> 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/CAHynOmyZ%3DM24bviLxHQ34ZtTGb_OQ%3DyXS5agTLXaDLXcXCWyMA%40mail.gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/django-users/CAHynOmyZ%3DM24bviLxHQ34ZtTGb_OQ%3DyXS5agTLXaDLXcXCWyMA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "Django users" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/django-users/8R6KRoYcHM0/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/django-users/CAEO1GrpjN9exwV62_2S9y-tB0JLeLo%3DugfcX-_%3DH_C%3DfqotTSg%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/django-users/CAEO1GrpjN9exwV62_2S9y-tB0JLeLo%3DugfcX-_%3DH_C%3DfqotTSg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "Django users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/django-users/8R6KRoYcHM0/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/e584e4e0-c4b5-456a-a42f-bde526ac6c9en%40googlegroups.com >> >> <https://groups.google.com/d/msgid/django-users/e584e4e0-c4b5-456a-a42f-bde526ac6c9en%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- 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/7db3745f-bb5c-48c0-8a15-b039bf9ad67dn%40googlegroups.com.

