'v'
Request Method: | GET |
---|---|
Request URL: | https://wesharescience.com/?category=Geology&page=1 |
Django Version: | 3.2.8 |
Exception Type: | KeyError |
Exception Value: | 'v' |
Exception Location: | /var/www/html/wesharescience.com/public_html/wesharescience/./cards/templatetags/get_title.py, line 39, in video_title |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 3.8.10 |
Python Path: | ['.', '', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages'] |
Server time: | Thu, 28 Mar 2024 23:38:02 +0000 |
In template /var/www/html/wesharescience.com/public_html/wesharescience/cards/templates/each_card.html
, error at line 67
57 | <a href="{{ card.id }}"><img src="https://img.youtube.com/vi/ScMzIvxBSi4/0.jpg" width="100%"></a> |
---|---|
58 | |
59 | {% endif %} |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | </div> |
67 | <p> <b> {{ card.video_url|video_title }}</b></p> |
68 | <p class="card-text">{{ card.description|slice:":200" }}...</p> |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | <a href="https://wesharescience.com/{{ card.id }}" class="btn btn-primary" style="width:80%; height: 40px;">Watch</a> |
76 | |
77 |
/usr/local/lib/python3.8/dist-packages/django/core/handlers/exception.py
, line 47, in inner
response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)
return response
return inner
else:
@wraps(get_response)
def inner(request):
try:
response = get_response(request)…
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | KeyError('v') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fa7509dfa30>> |
request | <WSGIRequest: GET '/?category=Geology&page=1'> |
/usr/local/lib/python3.8/dist-packages/django/core/handlers/base.py
, line 181, in _get_response
if response is None:
wrapped_callback = self.make_view_atomic(callback)
# If it is an asynchronous view, run it in a subthread.
if asyncio.iscoroutinefunction(wrapped_callback):
wrapped_callback = async_to_sync(wrapped_callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
# Complain if the view returned None (a common error).
Variable | Value |
---|---|
callback | <function index at 0x7fa75073eaf0> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <bound method CsrfViewMiddleware.process_view of <django.middleware.csrf.CsrfViewMiddleware object at 0x7fa750978310>> |
request | <WSGIRequest: GET '/?category=Geology&page=1'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fa7509dfa30> |
wrapped_callback | <function index at 0x7fa75073eaf0> |
/var/www/html/wesharescience.com/public_html/wesharescience/./cards/views.py
, line 593, in index
"has_next": has_next,
"wishlist": [] if not wishlist else json.loads(wishlist.favorite_cards),
}
return render(request, "index.html", context)…
def command(request, id, cmd):
return redirect("/")
Variable | Value |
---|---|
Paginator | <class 'django.core.paginator.Paginator'> |
author_name | None |
card_form | <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)> |
cards | <Page 1 of 3> |
categories | <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']> |
category | 'Geology' |
category_select | 'Geology' |
choice | <bound method Random.choice of <random.Random object at 0x5594ec696e90>> |
context | {'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'has_next': True, 'has_previous': False, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'page': <Page 1 of 1>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'q': None, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'wishlist': []} |
current_page | <Page 1 of 1> |
has_next | True |
has_previous | False |
is_ajax_request | False |
limit | 20 |
login_form | <LoginForm bound=True, valid=False, fields=(username;password)> |
page | '1' |
page_number | '1' |
pagination | <django.core.paginator.Paginator object at 0x7fa74f5ef970> |
request | <WSGIRequest: GET '/?category=Geology&page=1'> |
search_term | None |
signup_form | <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)> |
url_param | None |
wishlist | None |
/usr/local/lib/python3.8/dist-packages/django/shortcuts.py
, line 19, in render
def render(request, template_name, context=None, content_type=None, status=None, using=None):
"""
Return a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
"""
content = loader.render_to_string(template_name, context, request, using=using)…
return HttpResponse(content, content_type, status)
def redirect(to, *args, permanent=False, **kwargs):
"""
Return an HttpResponseRedirect to the appropriate URL for the arguments
Variable | Value |
---|---|
content_type | None |
context | {'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'has_next': True, 'has_previous': False, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'page': <Page 1 of 1>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'q': None, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'wishlist': []} |
request | <WSGIRequest: GET '/?category=Geology&page=1'> |
status | None |
template_name | 'index.html' |
using | None |
/usr/local/lib/python3.8/dist-packages/django/template/loader.py
, line 62, in render_to_string
template_name may be a string or a list of strings.
"""
if isinstance(template_name, (list, tuple)):
template = select_template(template_name, using=using)
else:
template = get_template(template_name, using=using)
return template.render(context, request)…
def _engine_list(using=None):
return engines.all() if using is None else [engines[using]]
Variable | Value |
---|---|
context | {'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'has_next': True, 'has_previous': False, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'page': <Page 1 of 1>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'q': None, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'wishlist': []} |
request | <WSGIRequest: GET '/?category=Geology&page=1'> |
template | <django.template.backends.django.Template object at 0x7fa74f6fee80> |
template_name | 'index.html' |
using | None |
/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py
, line 61, in render
@property
def origin(self):
return self.template.origin
def render(self, context=None, request=None):
context = make_context(context, request, autoescape=self.backend.engine.autoescape)
try:
return self.template.render(context)…
except TemplateDoesNotExist as exc:
reraise(exc, self.backend)
def copy_exception(exc, backend=None):
"""
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
request | <WSGIRequest: GET '/?category=Geology&page=1'> |
self | <django.template.backends.django.Template object at 0x7fa74f6fee80> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 170, in render
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)…
else:
return self._render(context)
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f5ef850> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f5ef850> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n\n\n' |
bits | ['\n' '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" ' '"http://www.w3.org/TR/html4/strict.dtd">\n' '<html>\n' '<head>\n' '\n' ' ', '\n' '\n' '\n' '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" ' '"http://www.w3.org/TR/html4/strict.dtd">\n' '<html>\n' '<head>\n' ' <!-- <link rel="stylesheet" href="css/responsive.css"> -->\n' ' <link rel="stylesheet" ' 'href="https://fonts.googleapis.com/icon?family=Material+Icons">\n' ' <link rel="stylesheet" ' 'href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">\n' '\n' ' \n' ' <script ' 'src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>\n' ' <!-- <script type="text/javascript" ' 'src="/static/home/js/main.js"></script> -->\n' ' \n' ' <!-- Popper JS -->\n' ' <script ' 'src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>\n' ' \n' ' <!-- Latest compiled JavaScript -->\n' ' <script ' 'src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>\n' ' \n' ' <!-- icon library -->\n' ' <link rel="stylesheet" ' 'href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> \n' '\n' ' <link href="/static/fontawesomefree/css/fontawesome.css" ' 'rel="stylesheet" type="text/css">\n' ' <link href="/static/fontawesomefree/css/brands.css" rel="stylesheet" ' 'type="text/css">\n' ' <link href="/static/fontawesomefree/css/solid.css" rel="stylesheet" ' 'type="text/css">\n' ' \n' ' <!-- Boostrap Modal-Forms app-->\n' ' <script src="/static/js/jquery.bootstrap.modal.forms.min.js"></script>\n' '\n' ' <link rel="shortcut icon" type="image/png" ' 'href="/static/home/favicon.ico"/>\n' '\n' ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\n' ' <meta http-equiv="Content-Style-Type" content="text/css">\n' ' <title>WeShareScience</title>\n' ' <meta name="Generator" content="Cocoa HTML Writer">\n' ' <meta name="CocoaVersion" content="2299">\n' '\n' '\n' ' <style type="text/css">\n' ' @import ' 'url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600&display=swap");\n' ' @import ' 'url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css");\n' ' p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times; color: ' '#000000; -webkit-text-stroke: #000000}\n' ' p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times; color: ' '#000000; -webkit-text-stroke: #000000; min-height: 14.0px}\n' ' p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.4px Monaco; color: ' '#262626; -webkit-text-stroke: #262626; background-color: #f2f2f2; ' 'min-height: 19.0px}\n' ' span.s1 {font-kerning: none}\n' ' </style><b></b>\n' '\n' '\n' '\n' ' </head>\n' '</html>\n' '\n' '\n' '\n', '\n\n</head>\n\n<body>\n\n\n ', '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" ' '"http://www.w3.org/TR/html4/strict.dtd">\n' '<html>\n' ' \n' ' \n' '<head>\n' ' <!-- Load Bootstrap -->\n' ' <link rel="stylesheet" href=\n' ' ' '"https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css"\n' ' integrity=\n' ' "sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I"\n' ' crossorigin="anonymous">\n' ' <script src=\n' ' "https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"\n' ' integrity=\n' ' "sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"\n' ' crossorigin="anonymous">\n' ' </script>\n' ' <script src=\n' ' ' '"https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js"\n' ' integrity=\n' ' "sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/"\n' ' crossorigin="anonymous">\n' ' </script>\n' '\n' '\n' '<link rel="stylesheet" ' 'href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0" ' '/>\… <trimmed 29549 bytes string> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <django.template.loader_tags.IncludeNode object at 0x7fa74f5ec4f0> |
self | [<TextNode: '\n<!DOCTYPE html PUBLIC "-'>, <django.template.loader_tags.IncludeNode object at 0x7fa74f5ec400>, <TextNode: '\n\n</head>\n\n<body>\n\n\n '>, <django.template.loader_tags.IncludeNode object at 0x7fa74f5ec490>, <TextNode: '\n\n\n \n '>, <django.template.loader_tags.IncludeNode object at 0x7fa74f5ecdc0>, <TextNode: '\n\n\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fa74f5ec4f0>, <TextNode: '\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fa74f42ff10>, <TextNode: '\n\n\n\n\n\n\n\n</body>\n</html>\n\n'>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f5ec4f0> |
/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py
, line 195, in render
values = {
name: var.resolve(context)
for name, var in self.extra_context.items()
}
if self.isolated_context:
return template.render(context.new(values))
with context.push(**values):
return template.render(context)…
@register.tag('block')
def do_block(parser, token):
"""
Define a block that can be overridden by child templates.
Variable | Value |
---|---|
cache | {('cards.html',): <django.template.base.Template object at 0x7fa74f6a2280>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f5ec4f0> |
template | <django.template.base.Template object at 0x7fa74f6a2280> |
template_name | ('cards.html',) |
values | {} |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 172, in render
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)
else:
return self._render(context)…
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
is True and an exception occurs during parsing, the exception is
annotated with contextual line information where it occurred in the
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f6a2280> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f6a2280> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('"></script>\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' ' <div class="card mx-auto" style="width: 98%; border:0px;">\n' ' \n' '<div style="display: flex; flex-direction: row; flex-wrap: wrap; ">\n' ' \n' '\n' '\n' '<div class="row" id="replaceable-content">\n' '\n' '\n' ' ') |
bits | ['', '\n', '', '\n' '\n' '<!DOCTYPE html>\n' '<html lang="en">\n' '<head>\n' '\n' '\n' '\n' '\n' ' <script ' 'src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>\n' ' <script ' 'src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>\n' '\n' '\n' ' <link rel="stylesheet" ' 'href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" ' 'integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" ' 'crossorigin="anonymous">\n' '\n' '\n' '\n' ' <link rel="stylesheet" ' 'href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0" ' '/>\n' '\n' '\n' '\n' ' <meta charset="UTF-8">\n' ' <link ' 'href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"\n' ' rel="stylesheet"\n' ' ' 'integrity="sha384-wEmeIV1mKuiNpC+IOBjI7aAzPcEZeedi5yW5f2yOq55WWLwNGmvvx4Um1vskeMj0"\n' ' crossorigin="anonymous">\n' '\n' ' \n' ' \n' ' <script>\n' ' \n' ' // let toggle_favorite_url = "', '/toggle_favorite', '";\n' ' function toggle_icon(card_id) {\n' ' if (!card_id) {\n' ' return;\n' ' }\n' ' \n' ' $.ajax({\n' ' url: "', '/toggle_favorite', '", // was toggle_favorite_url\n' ' type: "GET",\n' ' data: `card_id=${card_id}`,\n' ' success: (response) => {\n' ' console.log(response);\n' ' if (response.status) {\n' ' if (response.is_favorite) {\n' ' $(`#fav-icon-${card_id}`).addClass("text-danger");\n' ' $(`#fav-icon-${card_id}`).text("update");\n' ' } else {\n' ' $(`#fav-icon-${card_id}`).removeClass("text-danger");\n' ' $(`#fav-icon-${card_id}`).text("update");\n' ' }\n' ' $(`#fav-icon-${card_id}`).show();\n' ' }\n' ' },\n' ' });\n' ' }\n' ' </script>\n' '\n' '\n' '\n' '</head>\n' '<body>\n' ' ', '', '\n ', '', '\n' ' <!-- this is for bootstrap modal forms-->\n' ' \n' ' <!-- You can alternatively load the minified version -->\n' ' <script src="', '/static/js/jquery.bootstrap.modal.forms.min.js', '"></script>\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' ' <div class="card mx-auto" style="width: 98%; border:0px;">\n' ' \n' '<div style="display: flex; flex-direction: row; flex-wrap: wrap; ">\n' ' \n' '\n' '\n' '<div class="row" id="replaceable-content">\n' '\n' '\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <django.template.loader_tags.IncludeNode object at 0x7fa74ea497c0> |
self | [<django.template.defaulttags.LoadNode object at 0x7fa74f6a21f0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74ea49550>, <TextNode: '\n\n<!DOCTYPE html>\n<html l'>, <django.template.defaulttags.URLNode object at 0x7fa74ea490a0>, <TextNode: '";\n function tog'>, <django.template.defaulttags.URLNode object at 0x7fa74ea490d0>, <TextNode: '", // was toggle_favorit'>, <django.template.defaulttags.LoadNode object at 0x7fa74ea49e20>, <TextNode: '\n '>, <django.template.defaulttags.LoadNode object at 0x7fa74ea49af0>, <TextNode: '\n <!-- this is for boots'>, <django.templatetags.static.StaticNode object at 0x7fa74ea49df0>, <TextNode: '"></script>\n\n\n\n\n\n\n\n '>, <django.template.loader_tags.IncludeNode object at 0x7fa74ea497c0>, <TextNode: '\n\n\n</div> <!--end of '>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74ea497c0> |
/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py
, line 195, in render
values = {
name: var.resolve(context)
for name, var in self.extra_context.items()
}
if self.isolated_context:
return template.render(context.new(values))
with context.push(**values):
return template.render(context)…
@register.tag('block')
def do_block(parser, token):
"""
Define a block that can be overridden by child templates.
Variable | Value |
---|---|
cache | {('cards_insert.html',): <django.template.base.Template object at 0x7fa74ea49790>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74ea497c0> |
template | <django.template.base.Template object at 0x7fa74ea49790> |
template_name | ('cards_insert.html',) |
values | {} |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 172, in render
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)
else:
return self._render(context)…
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
is True and an exception occurs during parsing, the exception is
annotated with contextual line information where it occurred in the
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74ea49790> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74ea49790> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bits | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <Block Node: content. Contents: [<TextNode: '\n'>, <IfNode>, <TextNode: ' \n\n\n\n\n\n\n'>]> |
self | [<Block Node: content. Contents: [<TextNode: '\n'>, <IfNode>, <TextNode: ' \n\n\n\n\n\n\n'>]>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <Block Node: content. Contents: [<TextNode: '\n'>, <IfNode>, <TextNode: ' \n\n\n\n\n\n\n'>]> |
/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py
, line 53, in render
return "<Block Node: %s. Contents: %r>" % (self.name, self.nodelist)
def render(self, context):
block_context = context.render_context.get(BLOCK_CONTEXT_KEY)
with context.push():
if block_context is None:
context['block'] = self
result = self.nodelist.render(context)…
else:
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
Variable | Value |
---|---|
block_context | None |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <Block Node: content. Contents: [<TextNode: '\n'>, <IfNode>, <TextNode: ' \n\n\n\n\n\n\n'>]> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n' |
bits | ['\n'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <IfNode> |
self | [<TextNode: '\n'>, <IfNode>, <TextNode: ' \n\n\n\n\n\n\n'>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <IfNode> |
/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py
, line 312, in render
match = condition.eval(context)
except VariableDoesNotExist:
match = None
else: # else clause
match = True
if match:
return nodelist.render(context)…
return ''
class LoremNode(Node):
def __init__(self, count, method, common):
Variable | Value |
---|---|
condition | (literal <django.template.base.FilterExpression object at 0x7fa74f7c4430>) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
match | <Page 1 of 3> |
nodelist | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f7c4f70>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f7c47c0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f7c4070>, <TextNode: '\n\n\n\n<script src="https://'>, <django.template.defaulttags.URLNode object at 0x7fa74f7c4040>, <TextNode: '";\n function toggle_ico'>, <django.template.defaulttags.URLNode object at 0x7fa74f7c4970>, <TextNode: '", // was toggle_favorit'>, <ForNode: for card in cards, tail_len: 3>, <TextNode: '\n\n\n<!--\n </div>\n</div>\n-'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n '>, <ForNode: for i in cards.paginator.page_range, tail_len: 3>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </ul>\n </nav>\n <!-'>] |
self | <IfNode> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | ('", // was toggle_favorite_url\n' ' type: "GET",\n' ' data: `card_id=${card_id}`,\n' ' success: (response) => {\n' ' console.log(response);\n' ' if (response.status) {\n' ' if (response.is_favorite) {\n' ' $(`#fav-icon-${card_id}`).addClass("text-danger");\n' ' $(`#fav-icon-${card_id}`).text("update");\n' ' } else {\n' ' $(`#fav-icon-${card_id}`).removeClass("text-danger");\n' ' $(`#fav-icon-${card_id}`).text("update");\n' ' }\n' ' $(`#fav-icon-${card_id}`).show();\n' ' }\n' ' },\n' ' });\n' ' }\n' ' </script>\n' '\n' '\n' '\n' '<!-- Cards ' 'https://medium.com/geekculture/tiny-django-tutorial-bootstrap-cards-25e8dde6f21a ' '-->\n' ' ') |
bits | ['\n', '', '\n', '', '\n', '', '\n' '\n' '\n' '\n' '<script ' 'src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>\n' '<script ' 'src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>\n' '\n' '\n' '<script>\n' ' \n' ' // let toggle_favorite_url = "', '/toggle_favorite', '";\n' ' function toggle_icon(card_id) {\n' ' if (!card_id) {\n' ' return;\n' ' }\n' ' \n' ' $.ajax({\n' ' url: "', '/toggle_favorite', '", // was toggle_favorite_url\n' ' type: "GET",\n' ' data: `card_id=${card_id}`,\n' ' success: (response) => {\n' ' console.log(response);\n' ' if (response.status) {\n' ' if (response.is_favorite) {\n' ' $(`#fav-icon-${card_id}`).addClass("text-danger");\n' ' $(`#fav-icon-${card_id}`).text("update");\n' ' } else {\n' ' $(`#fav-icon-${card_id}`).removeClass("text-danger");\n' ' $(`#fav-icon-${card_id}`).text("update");\n' ' }\n' ' $(`#fav-icon-${card_id}`).show();\n' ' }\n' ' },\n' ' });\n' ' }\n' ' </script>\n' '\n' '\n' '\n' '<!-- Cards ' 'https://medium.com/geekculture/tiny-django-tutorial-bootstrap-cards-25e8dde6f21a ' '-->\n' ' '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <ForNode: for card in cards, tail_len: 3> |
self | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f7c4f70>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f7c47c0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f7c4070>, <TextNode: '\n\n\n\n<script src="https://'>, <django.template.defaulttags.URLNode object at 0x7fa74f7c4040>, <TextNode: '";\n function toggle_ico'>, <django.template.defaulttags.URLNode object at 0x7fa74f7c4970>, <TextNode: '", // was toggle_favorit'>, <ForNode: for card in cards, tail_len: 3>, <TextNode: '\n\n\n<!--\n </div>\n</div>\n-'>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n '>, <ForNode: for i in cards.paginator.page_range, tail_len: 3>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n </ul>\n </nav>\n <!-'>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <ForNode: for card in cards, tail_len: 3> |
/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py
, line 211, in render
unpacked_vars = dict(zip(self.loopvars, item))
pop_context = True
context.update(unpacked_vars)
else:
context[self.loopvars[0]] = item
for node in self.nodelist_loop:
nodelist.append(node.render_annotated(context))…
if pop_context:
# Pop the loop variables pushed on to the context to avoid
# the context ending up in an inconsistent state when other
# tags (e.g., include and with) push data to context.
context.pop()
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
i | 19 |
item | <Card: In this episode, Alex and the gang travel to Hawaii to find active flows of lava.> |
len_values | 20 |
loop_dict | {'counter': 20, 'counter0': 19, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0} |
node | <django.template.loader_tags.IncludeNode object at 0x7fa74f7c44c0> |
nodelist | ['\n\n ', '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '<head>\n' ' \n' ' <link rel="stylesheet" href="/static/star-ratings/css/star-ratings.css">\n' ' <script type="text/javascript" ' 'src="/static/star-ratings/js/dist/star-ratings.min.js"></script>\n' '\n' '\n' '<style>\n' '\n' '\n' '.star-ratings-rating-average {\n' ' display: none;\n' '}\n' '</style>\n' '\n' '\n' '</head>\n' '<body>\n' '\n' '\n' '\n' '<div class="card" style="width: 20rem; margin: 10px">\n' ' <img src="" class="card-img-top" >\n' ' <div class="card-body">\n' '\n' ' \n' ' <a href="/?category=Geology" style="text-decoration:none"><h5 ' 'class="card-title">Geology</h5></a> \n' ' \n' ' \n' '\n' '\n' ' <div style="display: flex; flex-direction: row">\n' ' \n' ' \n' ' <a href="15770"> <img ' 'src="https://img.youtube.com/vi/BJVpyf647Yc/0.jpg" width="100%"></a>\n' ' \n' '\n' ' \n' '\n' '\n' '\n' ' \n' '\n' ' \n' ' </div>\n' ' <p> <b> YouTube Science Video</b></p>\n' ' <p class="card-text">Crustal flow pattern beneath the Tibetan Plateau ' 'constrained by regional Lg-wave Q tomography - YouTube...</p>\n' '\n' '\n' '\n' ' \n' '\n' '\n' ' <a href="https://wesharescience.com/15770" class="btn btn-primary" ' 'style="width:80%; height: 40px;">Watch</a> \n' '\n' '\n' '\n' '\n' ' \n' ' \n' '\n' '\n' ' <button type="button" class="btn btn-primary" style="width:18%; height: ' '40px;"\n' ' data-toggle="modal" data-target="#loginModalwatch">\n' ' <span class="material-symbols-outlined " id="fav-icon-15770" title="Add ' 'to my watch-later list" >\n' ' update\n' ' </span>\n' ' </button>\n' '\n' ' \n' '\n' ' \n' '\n' '\n' '\n' '\n' '\n' ' </div>\n' '\n' '\n' '\n' '\n' '</div>\n' '\n' '</body>', '\n\n', '\n\n ', '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '<head>\n' ' \n' ' <link rel="stylesheet" href="/static/star-ratings/css/star-ratings.css">\n' ' <script type="text/javascript" ' 'src="/static/star-ratings/js/dist/star-ratings.min.js"></script>\n' '\n' '\n' '<style>\n' '\n' '\n' '.star-ratings-rating-average {\n' ' display: none;\n' '}\n' '</style>\n' '\n' '\n' '</head>\n' '<body>\n' '\n' '\n' '\n' '<div class="card" style="width: 20rem; margin: 10px">\n' ' <img src="" class="card-img-top" >\n' ' <div class="card-body">\n' '\n' ' \n' ' <a href="/?category=Geology" style="text-decoration:none"><h5 ' 'class="card-title">Geology</h5></a> \n' ' \n' ' \n' '\n' '\n' ' <div style="display: flex; flex-direction: row">\n' ' \n' ' \n' ' <a href="15800"> <img ' 'src="https://img.youtube.com/vi/1HTNsWhm9IQ/0.jpg" width="100%"></a>\n' ' \n' '\n' ' \n' '\n' '\n' '\n' ' \n' '\n' ' \n' ' </div>\n' ' <p> <b> YouTube Science Video</b></p>\n' ' <p class="card-text">Early diagenetic quartz formation at a deep iron ' 'oxidation front in the Eastern Equatorial Pacific -- A modern analogue for ' 'banded iron/chert formations?...</p>\n' '\n' '\n' '\n' ' \n' '\n' '\n' ' <a href="https://wesharescience.com/15800" class="btn btn-primary" ' 'style="width:80%; height: 40px;">Watch</a> \n' '\n' '\n' '\n' '\n' ' \n' ' \n' '\n' '\n' ' <button type="button" class="btn btn-primary" style="width:18%; height: ' '40px;"\n' ' data-toggle="modal" data-target="#loginModalwatch">\n' ' <span class="material-symbols-outlined " id="fav-icon-15800" title="Add ' 'to my watch-later list" >\n' ' update\n' ' </span>\n' ' </button>\n' '\n' ' \n' '\n' ' \n' '\n' '\n' '\n' '\n' '\n' ' </div>\n' '\n' '\n' '\n' '\n' '</div>\n' '\n' '</body>', '\n\n', '\n\n ', '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '\n' '<head>\n' ' \n' ' <link rel="stylesheet" href="/static/star-ratings/css/star-ratings.css">\n' ' <script type="text/javascript" ' 'src="/static/… <trimmed 36702 bytes string> |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for card in cards, tail_len: 3> |
unpack | False |
values | <Page 1 of 3> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f7c44c0> |
/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py
, line 195, in render
values = {
name: var.resolve(context)
for name, var in self.extra_context.items()
}
if self.isolated_context:
return template.render(context.new(values))
with context.push(**values):
return template.render(context)…
@register.tag('block')
def do_block(parser, token):
"""
Define a block that can be overridden by child templates.
Variable | Value |
---|---|
cache | {('each_card.html',): <django.template.base.Template object at 0x7fa74f837fa0>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f7c44c0> |
template | <django.template.base.Template object at 0x7fa74f837fa0> |
template_name | ('each_card.html',) |
values | {} |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 172, in render
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
context.template_name = self.name
return self._render(context)
else:
return self._render(context)…
def compile_nodelist(self):
"""
Parse and compile the template source into a nodelist. If debug
is True and an exception occurs during parsing, the exception is
annotated with contextual line information where it occurred in the
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f837fa0> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 162, in _render
self.nodelist = self.compile_nodelist()
def __iter__(self):
for node in self.nodelist:
yield from node
def _render(self, context):
return self.nodelist.render(context)…
def render(self, context):
"Display stage -- can be called many times"
with context.render_context.push_state(self):
if context.template is None:
with context.bind_template(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f837fa0> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n' |
bits | ['\n'] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658dc0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658370>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa7502079d0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa750207bb0>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa750207d00>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa750207dc0>, <TextNode: '"></script>\n\n\n<style>\n\n\n.'>, <TextNode: '\n<div class="card" style='>, <Variable Node: card.image>, <TextNode: '" class="card-img-top" >\n'>, <IfNode>, <TextNode: '\n \n\n\n <div style="d'>, <IfNode>, <TextNode: '\n\n\n\n \n\n \n </d'>, <Variable Node: card.video_url|video_title>, <TextNode: '</b></p>\n <p class="ca'>, <Variable Node: card.description|slice:":200">, <TextNode: '...</p>\n\n\n\n \n\n\n <a '>, <Variable Node: card.id>, <TextNode: '" class="btn btn-primary"'>, <IfNode>, <TextNode: '\n\n\n\n\n\n </div>\n\n\n\n\n</div>'>]> |
self | [<TextNode: '\n'>, <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658dc0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658370>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa7502079d0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa750207bb0>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa750207d00>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa750207dc0>, <TextNode: '"></script>\n\n\n<style>\n\n\n.'>, <TextNode: '\n<div class="card" style='>, <Variable Node: card.image>, <TextNode: '" class="card-img-top" >\n'>, <IfNode>, <TextNode: '\n \n\n\n <div style="d'>, <IfNode>, <TextNode: '\n\n\n\n \n\n \n </d'>, <Variable Node: card.video_url|video_title>, <TextNode: '</b></p>\n <p class="ca'>, <Variable Node: card.description|slice:":200">, <TextNode: '...</p>\n\n\n\n \n\n\n <a '>, <Variable Node: card.id>, <TextNode: '" class="btn btn-primary"'>, <IfNode>, <TextNode: '\n\n\n\n\n\n </div>\n\n\n\n\n</div>'>]>, <TextNode: '</body>'>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658dc0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658370>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa7502079d0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa750207bb0>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa750207d00>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa750207dc0>, <TextNode: '"></script>\n\n\n<style>\n\n\n.'>, <TextNode: '\n<div class="card" style='>, <Variable Node: card.image>, <TextNode: '" class="card-img-top" >\n'>, <IfNode>, <TextNode: '\n \n\n\n <div style="d'>, <IfNode>, <TextNode: '\n\n\n\n \n\n \n </d'>, <Variable Node: card.video_url|video_title>, <TextNode: '</b></p>\n <p class="ca'>, <Variable Node: card.description|slice:":200">, <TextNode: '...</p>\n\n\n\n \n\n\n <a '>, <Variable Node: card.id>, <TextNode: '" class="btn btn-primary"'>, <IfNode>, <TextNode: '\n\n\n\n\n\n </div>\n\n\n\n\n</div>'>]> |
/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py
, line 53, in render
return "<Block Node: %s. Contents: %r>" % (self.name, self.nodelist)
def render(self, context):
block_context = context.render_context.get(BLOCK_CONTEXT_KEY)
with context.push():
if block_context is None:
context['block'] = self
result = self.nodelist.render(context)…
else:
push = block = block_context.pop(self.name)
if block is None:
block = self
# Create new block so we can store context without thread-safety issues.
block = type(self)(block.name, block.nodelist)
Variable | Value |
---|---|
block_context | None |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658dc0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658370>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa7502079d0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa750207bb0>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa750207d00>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa750207dc0>, <TextNode: '"></script>\n\n\n<style>\n\n\n.'>, <TextNode: '\n<div class="card" style='>, <Variable Node: card.image>, <TextNode: '" class="card-img-top" >\n'>, <IfNode>, <TextNode: '\n \n\n\n <div style="d'>, <IfNode>, <TextNode: '\n\n\n\n \n\n \n </d'>, <Variable Node: card.video_url|video_title>, <TextNode: '</b></p>\n <p class="ca'>, <Variable Node: card.description|slice:":200">, <TextNode: '...</p>\n\n\n\n \n\n\n <a '>, <Variable Node: card.id>, <TextNode: '" class="btn btn-primary"'>, <IfNode>, <TextNode: '\n\n\n\n\n\n </div>\n\n\n\n\n</div>'>]> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 938, in render
# extend_nodelist().
contains_nontext = False
def render(self, context):
bits = []
for node in self:
if isinstance(node, Node):
bit = node.render_annotated(context)…
else:
bit = node
bits.append(str(bit))
return mark_safe(''.join(bits))
def get_nodes_by_type(self, nodetype):
Variable | Value |
---|---|
bit | '\n\n\n\n \n\n \n </div>\n <p> <b> ' |
bits | ['\n', '', '\n', '', '\n', '', '\n', '', '\n\n\n\n\n\n<head>\n \n <link rel="stylesheet" href="', '/static/star-ratings/css/star-ratings.css', '">\n <script type="text/javascript" src="', '/static/star-ratings/js/dist/star-ratings.min.js', '"></script>\n' '\n' '\n' '<style>\n' '\n' '\n' '.star-ratings-rating-average {\n' ' display: none;\n' '}\n' '</style>\n' '\n' '\n' '</head>\n' '<body>\n' '\n' '\n', '\n<div class="card" style="width: 20rem; margin: 10px">\n <img src="', '', '" class="card-img-top" >\n <div class="card-body">\n\n ', '\n' ' <a href="/?category=Geology" style="text-decoration:none"><h5 ' 'class="card-title">Geology</h5></a> \n' ' ', '\n \n\n\n <div style="display: flex; flex-direction: row">\n ', '\n' ' \n' ' <a href="14054"> <img src="https://img.youtube.com/vi/watch/0.jpg" ' 'width="100%"></a>\n' ' \n' '\n' ' ', '\n\n\n\n \n\n \n </div>\n <p> <b> '] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
node | <Variable Node: card.video_url|video_title> |
self | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658dc0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f658370>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa7502079d0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa750207bb0>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa750207d00>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa750207dc0>, <TextNode: '"></script>\n\n\n<style>\n\n\n.'>, <TextNode: '\n<div class="card" style='>, <Variable Node: card.image>, <TextNode: '" class="card-img-top" >\n'>, <IfNode>, <TextNode: '\n \n\n\n <div style="d'>, <IfNode>, <TextNode: '\n\n\n\n \n\n \n </d'>, <Variable Node: card.video_url|video_title>, <TextNode: '</b></p>\n <p class="ca'>, <Variable Node: card.description|slice:":200">, <TextNode: '...</p>\n\n\n\n \n\n\n <a '>, <Variable Node: card.id>, <TextNode: '" class="btn btn-primary"'>, <IfNode>, <TextNode: '\n\n\n\n\n\n </div>\n\n\n\n\n</div>'>] |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 905, in render_annotated
"""
Render the node. If debug is True and an exception occurs during
rendering, the exception is annotated with contextual line information
where it occurred in the template. For internal usage this method is
preferred over using the render method directly.
"""
try:
return self.render(context)…
except Exception as e:
if context.template.engine.debug and not hasattr(e, 'template_debug'):
e.template_debug = context.render_context.template.get_exception_info(e, self.token)
raise
def __iter__(self):
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <Variable Node: card.video_url|video_title> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 988, in render
self.filter_expression = filter_expression
def __repr__(self):
return "<Variable Node: %s>" % self.filter_expression
def render(self, context):
try:
output = self.filter_expression.resolve(context)…
except UnicodeDecodeError:
# Unicode conversion can fail sometimes for reasons out of our
# control (e.g. exception rendering). In that case, we fail
# quietly.
return ''
return render_value_in_context(output, context)
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
self | <Variable Node: card.video_url|video_title> |
/usr/local/lib/python3.8/dist-packages/django/template/base.py
, line 698, in resolve
else:
arg_vals.append(arg.resolve(context))
if getattr(func, 'expects_localtime', False):
obj = template_localtime(obj, context.use_tz)
if getattr(func, 'needs_autoescape', False):
new_obj = func(obj, autoescape=context.autoescape, *arg_vals)
else:
new_obj = func(obj, *arg_vals)…
if getattr(func, 'is_safe', False) and isinstance(obj, SafeData):
obj = mark_safe(new_obj)
else:
obj = new_obj
return obj
Variable | Value |
---|---|
arg_vals | [] |
args | [] |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 1 of 3>, 'categories': <QuerySet [{'id': 120, 'name': 'Agriculture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 675502, tzinfo=<UTC>)}, {'id': 132, 'name': 'Anthropology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 770292, tzinfo=<UTC>)}, {'id': 128, 'name': 'Archaeology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 736245, tzinfo=<UTC>)}, {'id': 129, 'name': 'Architecture', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 745625, tzinfo=<UTC>)}, {'id': 151, 'name': 'Astronomy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 59, 858463, tzinfo=<UTC>)}, {'id': 139, 'name': 'Biology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 849210, tzinfo=<UTC>)}, {'id': 140, 'name': 'Business', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 859857, tzinfo=<UTC>)}, {'id': 127, 'name': 'Chemistry', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 727835, tzinfo=<UTC>)}, {'id': 146, 'name': 'Climate Change', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 103894, tzinfo=<UTC>)}, {'id': 118, 'name': 'Communications', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 663654, tzinfo=<UTC>)}, {'id': 145, 'name': 'Computer Science', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 60501, tzinfo=<UTC>)}, {'id': 147, 'name': 'Cybersecurity', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 239084, tzinfo=<UTC>)}, {'id': 141, 'name': 'Economics', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 898770, tzinfo=<UTC>)}, {'id': 123, 'name': 'Education', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 693868, tzinfo=<UTC>)}, {'id': 144, 'name': 'Energy', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 56, 49468, tzinfo=<UTC>)}, {'id': 130, 'name': 'Engineering', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 752459, tzinfo=<UTC>)}, {'id': 138, 'name': 'Gender', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 840101, tzinfo=<UTC>)}, {'id': 131, 'name': 'Geology', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 764575, tzinfo=<UTC>)}, {'id': 135, 'name': 'History', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 791560, tzinfo=<UTC>)}, {'id': 124, 'name': 'International Affairs', 'title': '0', 'created_at': datetime.datetime(2022, 12, 27, 3, 51, 55, 699174, tzinfo=<UTC>)}, '...(remaining elements truncated)...']>, 'caterogy_select': 'Geology', 'card_form': <CardForm bound=False, valid=False, fields=(description;video_url;category;article_url;doi)>, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f5ef970>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': False, 'has_next': True, 'wishlist': []}] |
func | <function video_title at 0x7fa750522f70> |
ignore_failures | False |
obj | 'http://www.youtube.com/watch?feature=player_embedded&v=Vh2MWgfPiPU' |
self | <django.template.base.FilterExpression object at 0x7fa74f468d30> |
/usr/local/lib/python3.8/dist-packages/django/template/defaultfilters.py
, line 46, in _dec
"""
def _dec(*args, **kwargs):
args = list(args)
args[0] = str(args[0])
if (isinstance(args[0], SafeData) and
getattr(_dec._decorated_function, 'is_safe', False)):
return mark_safe(func(*args, **kwargs))
return func(*args, **kwargs)…
# Include a reference to the real function (used to check original
# arguments by the template parser, and to bear the 'is_safe' attribute
# when multiple decorators are applied).
_dec._decorated_function = getattr(func, '_decorated_function', func)
Variable | Value |
---|---|
_dec | <function video_title at 0x7fa750522f70> |
args | ['http://www.youtube.com/watch?feature=player_embedded&v=Vh2MWgfPiPU'] |
func | <function video_title at 0x7fa750522ee0> |
kwargs | {} |
/var/www/html/wesharescience.com/public_html/wesharescience/./cards/templatetags/get_title.py
, line 39, in video_title
you_video_id = "ScMzIvxBSi4"
query = urlparse(url)
if query.hostname == 'youtu.be':
you_video_id = query.path[1:]
if query.hostname in ('www.youtube.com', 'youtube.com'):
if query.path == '/watch':
p = parse_qs(query.query)
you_video_id = p['v'][0]…
if query.path[:7] == '/embed/':
you_video_id = query.path.split('/')[2]
if query.path[:3] == '/v/':
you_video_id = query.path.split('/')[2]
VideoID = you_video_id
Variable | Value |
---|---|
p | {'amp;v': ['Vh2MWgfPiPU'], 'feature': ['player_embedded']} |
query | ParseResult(scheme='http', netloc='www.youtube.com', path='/watch', params='', query='feature=player_embedded&v=Vh2MWgfPiPU', fragment='') |
url | 'http://www.youtube.com/watch?feature=player_embedded&v=Vh2MWgfPiPU' |
you_video_id | 'ScMzIvxBSi4' |
AnonymousUser
Variable | Value |
---|---|
category | 'Geology' |
page | '1' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
CSRF_COOKIE | 'l7gHzSl3vakqU8uLIVZzNMfnl82ap716BQZBiu7navmTYEsuQl5OMWXbc8IXbfAD' |
CSRF_COOKIE_USED | True |
DOCUMENT_ROOT | '/var/www/html/wwesharescience.com/public_html/wesharesience' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_ACCEPT_ENCODING | 'gzip, br' |
HTTP_CDN_LOOP | 'cloudflare' |
HTTP_CF_CONNECTING_IP | '52.90.50.252' |
HTTP_CF_IPCOUNTRY | 'US' |
HTTP_CF_RAY | '86bb738ba94e389e-EWR' |
HTTP_CF_VISITOR | '{"scheme":"https"}' |
HTTP_CONNECTION | 'Keep-Alive' |
HTTP_HOST | 'wesharescience.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '52.90.50.252' |
HTTP_X_FORWARDED_PROTO | 'https' |
PATH_INFO | '/' |
QUERY_STRING | 'category=Geology&page=1' |
REMOTE_ADDR | '172.70.111.16' |
REMOTE_PORT | '12200' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/?category=Geology&page=1' |
SCRIPT_NAME | '' |
SERVER_NAME | 'wesharescience.com' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'sciencepods' |
uwsgi.version | b'2.0.19.1' |
wsgi.errors | <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'> |
wsgi.file_wrapper | <built-in function uwsgi_sendfile> |
wsgi.input | <uwsgi._Input object at 0x7fa74f2f60d0> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
wesharescience.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ['django.contrib.auth.backends.ModelBackend'] |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | PosixPath('/var/www/html/wesharescience.com/public_html/wesharescience') |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | 'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | '********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | 'csrftoken' |
CSRF_COOKIE_PATH | '/' |
CSRF_COOKIE_SAMESITE | 'Lax' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | 'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | 'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
CSRF_USE_SESSIONS | False |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.sqlite3', 'HOST': '', 'NAME': PosixPath('/var/www/html/wesharescience.com/public_html/wesharescience/db.sqlite3'), 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': ''}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | 'N j, Y, P' |
DATETIME_INPUT_FORMATS | ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M'] |
DATE_FORMAT | 'N j, Y' |
DATE_INPUT_FORMATS | ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | '.' |
DEFAULT_AUTO_FIELD | 'django.db.models.BigAutoField' |
DEFAULT_CHARSET | 'utf-8' |
DEFAULT_EXCEPTION_REPORTER | 'django.views.debug.ExceptionReporter' |
DEFAULT_EXCEPTION_REPORTER_FILTER | 'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | 'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | '[email protected]' |
DEFAULT_HASHING_ALGORITHM | 'sha256' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_FILE_PATH | PosixPath('/var/www/html/wesharescience.com/public_html/wesharescience/sent_emails') |
EMAIL_HOST | 'smtp.gmail.com' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '[email protected]' |
EMAIL_PORT | 587 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | '********************' |
EMAIL_SUBJECT_PREFIX | '[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_LOCALTIME | False |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | True |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | 420 |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
FORM_RENDERER | 'django.forms.renderers.DjangoTemplates' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_extensions', 'bootstrap5', 'home', 'cards', 'accounts', 'star_ratings', 'django_social_share', 'fontawesomefree', 'bootstrap_modal_forms', 'widget_tweaks', 'django.contrib.sites', 'django.contrib.sitemaps'] |
INTERNAL_IPS | [] |
LANGUAGES | [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')] |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'fa', 'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_HTTPONLY | False |
LANGUAGE_COOKIE_NAME | 'django_language' |
LANGUAGE_COOKIE_PATH | '/' |
LANGUAGE_COOKIE_SAMESITE | None |
LANGUAGE_COOKIE_SECURE | False |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | '/' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | '/' |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
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'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PASSWORD_RESET_TIMEOUT_DAYS | '********************' |
PREPEND_WWW | False |
ROOT_URLCONF | 'wesharescience.urls' |
SECRET_KEY | '********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | None |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | 'root@localhost' |
SESSION_CACHE_ALIAS | 'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | None |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | 'sessionid' |
SESSION_COOKIE_PATH | '/' |
SESSION_COOKIE_SAMESITE | 'Lax' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | 'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'wesharescience.settings' |
SHORT_DATETIME_FORMAT | 'm/d/Y P' |
SHORT_DATE_FORMAT | 'm/d/Y' |
SIGNING_BACKEND | 'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
STAR_RATINGS_ANONYMOUS | True |
STAR_RATINGS_RATING_MODEL | 'star_ratings.Rating' |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/var/www/html/wesharescience.com/public_html/wesharescience/static/' |
STATIC_URL | '/static/' |
TEMPLATES | [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['templates'], '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']}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django.test.runner.DiscoverRunner' |
THOUSAND_SEPARATOR | ',' |
TIME_FORMAT | 'P' |
TIME_INPUT_FORMATS | ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M'] |
TIME_ZONE | 'UTC' |
USE_I18N | True |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | False |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'wesharescience.wsgi.application' |
X_FRAME_OPTIONS | 'DENY' |
YEAR_MONTH_FORMAT | 'F Y' |
You’re seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.