'v'
Request Method: | GET |
---|---|
Request URL: | https://wesharescience.com/?category=Other&page=2 |
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: | Fri, 29 Mar 2024 00:15:37 +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=Other&page=2'> |
/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=Other&page=2'> |
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 2 of 53> |
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 | 'Other' |
category_select | 'Other' |
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 2 of 53>, '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': 'Other', 'has_next': True, 'has_previous': True, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'page': <Page 1 of 1>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f398c10>, '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 | True |
is_ajax_request | False |
limit | 20 |
login_form | <LoginForm bound=True, valid=False, fields=(username;password)> |
page | '2' |
page_number | '2' |
pagination | <django.core.paginator.Paginator object at 0x7fa74f398c10> |
request | <WSGIRequest: GET '/?category=Other&page=2'> |
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 2 of 53>, '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': 'Other', 'has_next': True, 'has_previous': True, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'page': <Page 1 of 1>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f398c10>, 'q': None, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'wishlist': []} |
request | <WSGIRequest: GET '/?category=Other&page=2'> |
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 2 of 53>, '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': 'Other', 'has_next': True, 'has_previous': True, 'login_form': <LoginForm bound=True, valid=False, fields=(username;password)>, 'page': <Page 1 of 1>, 'pagination': <django.core.paginator.Paginator object at 0x7fa74f398c10>, 'q': None, 'signup_form': <SignUpForm bound=True, valid=False, fields=(username;email;first_name;last_name;password1;password2;check)>, 'wishlist': []} |
request | <WSGIRequest: GET '/?category=Other&page=2'> |
template | <django.template.backends.django.Template object at 0x7fa74f4dc7c0> |
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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
request | <WSGIRequest: GET '/?category=Other&page=2'> |
self | <django.template.backends.django.Template object at 0x7fa74f4dc7c0> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f398100> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f398100> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
node | <django.template.loader_tags.IncludeNode object at 0x7fa74f7168b0> |
self | [<TextNode: '\n<!DOCTYPE html PUBLIC "-'>, <django.template.loader_tags.IncludeNode object at 0x7fa74f837d90>, <TextNode: '\n\n</head>\n\n<body>\n\n\n '>, <django.template.loader_tags.IncludeNode object at 0x7fa74f837a00>, <TextNode: '\n\n\n \n '>, <django.template.loader_tags.IncludeNode object at 0x7fa74f7160a0>, <TextNode: '\n\n\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fa74f7168b0>, <TextNode: '\n\n'>, <django.template.loader_tags.IncludeNode object at 0x7fa74f716220>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f7168b0> |
/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 0x7fa74f700790>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f7168b0> |
template | <django.template.base.Template object at 0x7fa74f700790> |
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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f700790> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f700790> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
node | <django.template.loader_tags.IncludeNode object at 0x7fa74f73c040> |
self | [<django.template.defaulttags.LoadNode object at 0x7fa74f700610>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f73c820>, <TextNode: '\n\n<!DOCTYPE html>\n<html l'>, <django.template.defaulttags.URLNode object at 0x7fa74f73cd90>, <TextNode: '";\n function tog'>, <django.template.defaulttags.URLNode object at 0x7fa74f73cd00>, <TextNode: '", // was toggle_favorit'>, <django.template.defaulttags.LoadNode object at 0x7fa74f73ca60>, <TextNode: '\n '>, <django.template.defaulttags.LoadNode object at 0x7fa74f73cf70>, <TextNode: '\n <!-- this is for boots'>, <django.templatetags.static.StaticNode object at 0x7fa74f73c940>, <TextNode: '"></script>\n\n\n\n\n\n\n\n '>, <django.template.loader_tags.IncludeNode object at 0x7fa74f73c040>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f73c040> |
/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 0x7fa74f73c640>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f73c040> |
template | <django.template.base.Template object at 0x7fa74f73c640> |
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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f73c640> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f73c640> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 0x7fa74f838a30>) |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
match | <Page 2 of 53> |
nodelist | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f78e1c0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f78e4c0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f78e190>, <TextNode: '\n\n\n\n<script src="https://'>, <django.template.defaulttags.URLNode object at 0x7fa74f78e340>, <TextNode: '";\n function toggle_ico'>, <django.template.defaulttags.URLNode object at 0x7fa74f78e5b0>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
node | <ForNode: for card in cards, tail_len: 3> |
self | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f78e1c0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f78e4c0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f78e190>, <TextNode: '\n\n\n\n<script src="https://'>, <django.template.defaulttags.URLNode object at 0x7fa74f78e340>, <TextNode: '";\n function toggle_ico'>, <django.template.defaulttags.URLNode object at 0x7fa74f78e5b0>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
i | 11 |
item | <Card: Some people try to attack things like evolution by natural selection and man-made climate change by saying “Oh, that’s just a THEORY!” Yes, they are both theories. Stop saying it like it’s a bad thing! It’s time we learn the difference between a fact, a theory, a hypothesis, and a scientific law.> |
len_values | 20 |
loop_dict | {'counter': 12, 'counter0': 11, 'first': False, 'last': False, 'parentloop': {}, 'revcounter': 9, 'revcounter0': 8} |
node | <django.template.loader_tags.IncludeNode object at 0x7fa74f78e430> |
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=Other" style="text-decoration:none"><h5 ' 'class="card-title">Other</h5></a> \n' ' \n' ' \n' '\n' '\n' ' <div style="display: flex; flex-direction: row">\n' ' \n' ' \n' ' <a href="17508"><img src="https://vumbnail.com/64885660_large.jpg" ' 'width="100%"></a>\n' '\n' ' \n' '\n' ' \n' '\n' '\n' '\n' ' \n' '\n' ' \n' ' </div>\n' ' <p> <b> Vimeo Science Video</b></p>\n' ' <p class="card-text">Megakaryocytic Gene Regulation in Response to Shear ' 'Stress...</p>\n' '\n' '\n' '\n' ' \n' '\n' '\n' ' <a href="https://wesharescience.com/17508" 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-17508" 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=Other" style="text-decoration:none"><h5 ' 'class="card-title">Other</h5></a> \n' ' \n' ' \n' '\n' '\n' ' <div style="display: flex; flex-direction: row">\n' ' \n' ' \n' ' <a href="19266"><img src="https://vumbnail.com/214928270_large.jpg" ' 'width="100%"></a>\n' '\n' ' \n' '\n' ' \n' '\n' '\n' '\n' ' \n' '\n' ' \n' ' </div>\n' ' <p> <b> Vimeo Science Video</b></p>\n' ' <p class="card-text">The use of mobile applications for informal science ' 'learning...</p>\n' '\n' '\n' '\n' ' \n' '\n' '\n' ' <a href="https://wesharescience.com/19266" 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-19266" 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… <trimmed 20738 bytes string> |
num_loopvars | 1 |
parentloop | {} |
pop_context | False |
self | <ForNode: for card in cards, tail_len: 3> |
unpack | False |
values | <Page 2 of 53> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f78e430> |
/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 0x7fa74f838610>} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'cards': <Page 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.loader_tags.IncludeNode object at 0x7fa74f78e430> |
template | <django.template.base.Template object at 0x7fa74f838610> |
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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f838610> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <django.template.base.Template object at 0x7fa74f838610> |
/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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
node | <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676d60>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676460>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676c40>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676370>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8bb0>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8820>, <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 0x7fa74f676d60>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676460>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676c40>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676370>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8bb0>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8820>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676d60>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676460>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676c40>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676370>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8bb0>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8820>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
self | <Block Node: content. Contents: [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676d60>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676460>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676c40>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676370>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8bb0>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8820>, <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=Other" style="text-decoration:none"><h5 ' 'class="card-title">Other</h5></a> \n' ' ', '\n \n\n\n <div style="display: flex; flex-direction: row">\n ', '\n' ' \n' ' <a href="17160"> <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
node | <Variable Node: card.video_url|video_title> |
self | [<TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676d60>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676460>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676c40>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa74f676370>, <TextNode: '\n\n\n\n\n\n<head>\n \n <link re'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8bb0>, <TextNode: '">\n <script type="text/j'>, <django.templatetags.static.StaticNode object at 0x7fa74f7f8820>, <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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, '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 2 of 53>, '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': 'Other', '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 0x7fa74f398c10>, 'page': <Page 1 of 1>, 'q': None, 'has_previous': True, 'has_next': True, 'wishlist': []}] |
func | <function video_title at 0x7fa750522f70> |
ignore_failures | False |
obj | 'https://www.youtube.com/watch?t=1&v=lqk3TKuGNBA' |
self | <django.template.base.FilterExpression object at 0x7fa74f78f850> |
/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 | ['https://www.youtube.com/watch?t=1&v=lqk3TKuGNBA'] |
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': ['lqk3TKuGNBA'], 't': ['1']} |
query | ParseResult(scheme='https', netloc='www.youtube.com', path='/watch', params='', query='t=1&v=lqk3TKuGNBA', fragment='') |
url | 'https://www.youtube.com/watch?t=1&v=lqk3TKuGNBA' |
you_video_id | 'ScMzIvxBSi4' |
AnonymousUser
Variable | Value |
---|---|
category | 'Other' |
page | '2' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
CSRF_COOKIE | 'jg5SC9DpIW4onQ8GDsB0vwP9dnMkR7vKlcn2fkoRoZCy2eCni9lw8J0z0XFCJj0f' |
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 | '54.166.223.204' |
HTTP_CF_IPCOUNTRY | 'US' |
HTTP_CF_RAY | '86bbaa9eca82381e-EWR' |
HTTP_CF_VISITOR | '{"scheme":"https"}' |
HTTP_CONNECTION | 'Keep-Alive' |
HTTP_HOST | 'wesharescience.com' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '54.166.223.204' |
HTTP_X_FORWARDED_PROTO | 'https' |
PATH_INFO | '/' |
QUERY_STRING | 'category=Other&page=2' |
REMOTE_ADDR | '162.158.159.203' |
REMOTE_PORT | '37304' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/?category=Other&page=2' |
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 0x7fa74f4699f0> |
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.