Reputation: 61
Error Traceback - Deleted some more or less useless paths due to character limit...
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 3.0.6
Python Version: 3.8.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'core',
'leads']
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 /home/radu/Documents/work/ProtocolV6/protocol/core/templates/base_generic.html, error at line 57
maximum recursion depth exceeded while calling a Python object
47 : href="plugins/owl.carousel/dist/assets/owl.carousel.min.css"
48 : />
49 : <link
50 : rel="stylesheet"
51 : href="plugins/owl.carousel/dist/assets/owl.theme.default.min.css"
52 : />
53 : <link rel="stylesheet" href="dist/css/theme.min.css" />
54 : </head>
55 :
56 : <body>
57 : {% include "header.html" %} {% include "header.html" %} {% block content %}
58 : {% endblock %}
59 : </body>
60 : </html>
61 :
Traceback (most recent call last):
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 765, in __init__
self.literal = float(var)
During handling of the above exception (could not convert string to float: '"header.html"'), another exception occurred:
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 903, in render_annotated
return self.render(context)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/loader_tags.py", line 127, in render
compiled_parent = self.get_parent(context)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/loader_tags.py", line 124, in get_parent
return self.find_template(parent, context)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/loader_tags.py", line 103, in find_template
template, origin = context.template.engine.find_template(
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/engine.py", line 125, in find_template
template = loader.get_template(name, skip=skip)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/loaders/base.py", line 29, in get_template
return Template(
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 156, in __init__
self.nodelist = self.compile_nodelist()
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 194, in compile_nodelist
return parser.parse()
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 477, in parse
raise self.error(token, e)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 475, in parse
compiled_result = compile_func(self, token)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/loader_tags.py", line 316, in do_include
return IncludeNode(parser.compile_filter(bits[1]), extra_context=namemap,
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 562, in compile_filter
return FilterExpression(token, self)
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 640, in __init__
var_obj = Variable(constant).resolve({})
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/template/base.py", line 781, in __init__
self.literal = mark_safe(unescape_string_literal(var))
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/utils/functional.py", line 204, in wrapper
if any(isinstance(arg, Promise) for arg in itertools.chain(args, kwargs.values())):
File "/home/radu/.local/share/virtualenvs/ProtocolV6-LVs3tHy5/lib/python3.8/site-packages/django/utils/functional.py", line 204, in <genexpr>
if any(isinstance(arg, Promise) for arg in itertools.chain(args, kwargs.values())):
Exception Type: RecursionError at /
Exception Value: maximum recursion depth exceeded while calling a Python object
Views.py
from django.shortcuts import render
from .models import Contact
from django.views import generic
def index(request):
"""View function for home page of site."""
# Generate counts of some of the main objects
contacts = Contact.objects.all()
context = {
'contacts': contacts,
}
# Render the HTML template index.html with the data in the context variable
return render(request, 'index.html', context=context)
Models
from django.db import models
from django.urls import reverse
#from datetime import date
#from django.contrib.auth.models import User
class Contact(models.Model):
contact_title = models.CharField(max_length=50, help_text='Title')
contact_first_name = models.CharField(max_length=50,
help_text='First Name')
contact_middle_name = models.CharField(max_length=50,
help_text='Middle Name',
null=True)
contact_last_name = models.CharField(max_length=50, help_text='Last Name')
contact_date_of_initial_contact = models.DateTimeField(auto_now_add=True,
unique=True)
contact_company = models.CharField(max_length=200,
help_text="Contact's Company",
null=True)
contact_industry = models.CharField(max_length=200,
help_text="Contact's Industry",
null=True)
contact_address = models.CharField(max_length=200, help_text='Address')
contact_address_street = models.CharField(max_length=200,
help_text='Street')
contact_address_city = models.CharField(max_length=200, help_text='City')
contact_address_state = models.CharField(max_length=200, help_text='State')
contact_address_zip = models.CharField(max_length=200,
help_text='Zip',
null=True)
contact_address_country = models.CharField(max_length=200,
help_text='Country')
contact_phone = models.CharField(max_length=200, help_text='State')
contact_email = models.EmailField(unique=True)
contact_website = models.URLField(null=True)
contact_facebook = models.URLField(null=True)
contact_instagram = models.URLField(null=True)
contact_twitter = models.URLField(null=True)
contact_linkedin = models.URLField(null=True)
contact_github = models.URLField(null=True)
contact_description = models.TextField(max_length=1000, null=True)
contact_budget = models.IntegerField()
contact_request = models.TextField(
max_length=1000, help_text='Type here what the contact requestsed')
contact_sales_rep = models.CharField(max_length=200,
help_text='Sales Rep.')
contact_created_on = models.DateTimeField(auto_now_add=True, unique=True)
contact_date_of_birth = models.DateField(null=True, blank=True)
language_name = models.CharField(max_length=200,
help_text="Enter the book's natural language (e.g. English, French, Japanese etc.)", null=True)
class Meta:
ordering = ['contact_last_name', 'contact_first_name']
def __str__(self):
"""String for representing the Model object."""
return self.contact_first_name
def get_absolute_url(self):
"""Returns the url to access a detail record for this book."""
return reverse('contact-detail', args=[str(self.id)])
Base Html
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
{% block title %}
<title>Protocol CRM</title>
{% endblock %}
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
href="https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800"
rel="stylesheet"
/>
{% load static %}
<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link
rel="stylesheet"
href="plugins/bootstrap/dist/css/bootstrap.min.css"
/>
<link rel="stylesheet" href="plugins/fontawesome-free/css/all.min.css" />
<link rel="stylesheet" href="plugins/icon-kit/dist/css/iconkit.min.css" />
<link rel="stylesheet" href="plugins/ionicons/dist/css/ionicons.min.css" />
<link
rel="stylesheet"
href="plugins/perfect-scrollbar/css/perfect-scrollbar.css"
/>
<link
rel="stylesheet"
href="plugins/datatables.net-bs4/css/dataTables.bootstrap4.min.css"
/>
<link rel="stylesheet" href="plugins/jvectormap/jquery-jvectormap.css" />
<link
rel="stylesheet"
href="plugins/tempusdominus-bootstrap-4/build/css/tempusdominus-bootstrap-4.min.css"
/>
<link
rel="stylesheet"
href="plugins/weather-icons/css/weather-icons.min.css"
/>
<link rel="stylesheet" href="plugins/c3/c3.min.css" />
<link
rel="stylesheet"
href="plugins/owl.carousel/dist/assets/owl.carousel.min.css"
/>
<link
rel="stylesheet"
href="plugins/owl.carousel/dist/assets/owl.theme.default.min.css"
/>
<link rel="stylesheet" href="dist/css/theme.min.css" />
</head>
<body>
{% include "header.html" %} {% include "header.html" %} {% block content %}
{% endblock %}
</body>
</html>
Header Template
{% extends "base_generic.html" %} {% load static %} {% block content %}
<header class="header-top" header-theme="light">
<div class="container-fluid">
<div class="d-flex justify-content-between">
<div class="top-menu d-flex align-items-center">
<button type="button" class="btn-icon mobile-nav-toggle d-lg-none">
<span></span>
</button>
<div class="header-search">
<div class="input-group">
<span class="input-group-addon search-close"
><i class="ik ik-x"></i
></span>
<input type="text" class="form-control" />
<span class="input-group-addon search-btn"
><i class="ik ik-search"></i
></span>
</div>
</div>
<button type="button" id="navbar-fullscreen" class="nav-link">
<i class="ik ik-maximize"></i>
</button>
</div>
<div class="top-menu d-flex align-items-center">
<div class="dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="notiDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
><i class="ik ik-bell"></i><span class="badge bg-danger">3</span></a
>
<div
class="dropdown-menu dropdown-menu-right notification-dropdown"
aria-labelledby="notiDropdown"
>
<h4 class="header">Notifications</h4>
<div class="notifications-wrap">
<a href="#" class="media">
<span class="d-flex">
<i class="ik ik-check"></i>
</span>
<span class="media-body">
<span class="heading-font-family media-heading"
>Invitation accepted</span
>
<span class="media-content">Your have been Invited ...</span>
</span>
</a>
<a href="#" class="media">
<span class="d-flex">
<img src="#" class="rounded-circle" alt="" />
</span>
<span class="media-body">
<span class="heading-font-family media-heading"
>Steve Smith</span
>
<span class="media-content">I slowly updated projects</span>
</span>
</a>
<a href="#" class="media">
<span class="d-flex">
<i class="ik ik-calendar"></i>
</span>
<span class="media-body">
<span class="heading-font-family media-heading">To Do</span>
<span class="media-content"
>Meeting with Nathan on Friday 8 AM ...</span
>
</span>
</a>
</div>
<div class="footer">
<a href="javascript:void(0);">See all activity</a>
</div>
</div>
</div>
<button type="button" class="nav-link ml-10 right-sidebar-toggle">
<i class="ik ik-message-square"></i
><span class="badge bg-success">3</span>
</button>
<div class="dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="menuDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
><i class="ik ik-plus"></i
></a>
<div
class="dropdown-menu dropdown-menu-right menu-grid"
aria-labelledby="menuDropdown"
>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Dashboard"
><i class="ik ik-bar-chart-2"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Message"
><i class="ik ik-mail"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Accounts"
><i class="ik ik-users"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Sales"
><i class="ik ik-shopping-cart"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Purchase"
><i class="ik ik-briefcase"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Pages"
><i class="ik ik-clipboard"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Chats"
><i class="ik ik-message-square"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Contacts"
><i class="ik ik-map-pin"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Blocks"
><i class="ik ik-inbox"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Events"
><i class="ik ik-calendar"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="Notifications"
><i class="ik ik-bell"></i
></a>
<a
class="dropdown-item"
href="#"
data-toggle="tooltip"
data-placement="top"
title="More"
><i class="ik ik-more-horizontal"></i
></a>
</div>
</div>
<button
type="button"
class="nav-link ml-10"
id="apps_modal_btn"
data-toggle="modal"
data-target="#appsModal"
>
<i class="ik ik-grid"></i>
</button>
<div class="dropdown">
<a
class="dropdown-toggle"
href="#"
id="userDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
><img class="avatar" src="img/user.jpg" alt=""
/></a>
<div
class="dropdown-menu dropdown-menu-right"
aria-labelledby="userDropdown"
>
<a class="dropdown-item" href="profile.html"
><i class="ik ik-user dropdown-icon"></i> Profile</a
>
<a class="dropdown-item" href="#"
><i class="ik ik-settings dropdown-icon"></i> Settings</a
>
<a class="dropdown-item" href="#"
><span class="float-right"
><span class="badge badge-primary">6</span></span
><i class="ik ik-mail dropdown-icon"></i> Inbox</a
>
<a class="dropdown-item" href="#"
><i class="ik ik-navigation dropdown-icon"></i> Message</a
>
<a class="dropdown-item" href="#"
><i class="ik ik-power dropdown-icon"></i> Logout</a
>
</div>
</div>
</div>
</div>
</div>
</header>
{% endblock %}
I have no idea why I get this error. I am trying to make a admin layout for my crm. I started with a base Contact model that I could work on and then tried to add a header and siderbar from a template I found on the web. But when I added the Header is gave me this... Please help.
'Core' app url file
from django.urls import path, include
from . import views
urlpatterns = [
path('', views.core, name='core'),
]
and 'Protocol' project url file
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('core.urls')),
]
protocol is the name of the project and core the name of the app
Upvotes: 3
Views: 5833
Reputation: 1873
You are extending base_generic.html
in header.html
in the body section and also including header.html
in base_generic.html
. Only do either of those.
Upvotes: 3
Reputation: 369
This error happens because you didn't add {% load static %} to all of your html file.
Just now i found this, it worked for me.
Upvotes: 0
Reputation: 597
This error occurs when you include app.urls
inside itself. It doesn't sound like a good idea.
So check your urls.py
again.
Upvotes: 1