column socialaccount_socialapp.provider_id does not exist LINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc... ^ HINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider".
Request Method: | GET |
---|---|
Request URL: | https://ringbase.org/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F |
Django Version: | 4.2.4 |
Exception Type: | ProgrammingError |
Exception Value: | column socialaccount_socialapp.provider_id does not exist LINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc... ^ HINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider". |
Exception Location: | /home/ringbase/virtualenv/lib/python3.11/site-packages/psycopg/cursor.py, line 737, in execute |
Raised during: | allauth.account.views.LoginView |
Python Executable: | /home/ringbase/virtualenv/bin/uwsgi |
Python Version: | 3.11.7 |
Python Path: | ['.', '', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/home/ringbase/virtualenv/lib/python3.11/site-packages'] |
Server time: | Fri, 29 Mar 2024 11:29:43 +0000 |
In template /home/ringbase/django/templates/account/_login_form.html
, error at line 5
1 | {% load i18n %} |
---|---|
2 | {% load bootstrap3 %} |
3 | {% load account socialaccount %} |
4 | |
5 | {% get_providers as socialaccount_providers %} |
6 | |
7 | {% if socialaccount_providers %} |
8 | <p>{% blocktrans %}Please sign in with one |
9 | of your existing third party accounts. Or, <a href="{{ signup_url }}">register a new account</a> |
10 | and sign in below.{% endblocktrans %}</p> |
11 | |
12 | <div class="socialaccount_ballot"> |
13 | |
14 | <ul class="socialaccount_providers"> |
15 | {% include "socialaccount/snippets/provider_list.html" with process="login" %} |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/backends/utils.py
, line 89, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050>}) |
params | (1,) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/psycopg/cursor.py
, line 737, in execute
"""
try:
with self._conn.lock:
self._conn.wait(
self._execute_gen(query, params, prepare=prepare, binary=binary)
)
except e._NO_TRACEBACK as ex:
raise ex.with_traceback(None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
return self
def executemany(
self,
query: Query,
params_seq: Iterable[Params],
Variable | Value |
---|---|
binary | None |
params | (1,) |
prepare | None |
query | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
self | <django.db.backends.postgresql.base.Cursor [closed] [IDLE] (database=ringbase) at 0x7fa551856750> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/core/handlers/exception.py
, line 55, in inner
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 | ProgrammingError('column socialaccount_socialapp.provider_id does not exist\nLINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc...\n ^\nHINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider".') |
get_response | <bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fa556683750>> |
request | <WSGIRequest: GET '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/core/handlers/base.py
, line 220, in _get_response
self.check_response(
response,
middleware_method,
name="%s.process_template_response"
% (middleware_method.__self__.__class__.__name__,),
)
try:
response = response.render() ^^^^^^^^^^^^^^^^^…
except Exception as e:
response = self.process_exception_by_middleware(e, request)
if response is None:
raise
return response
Variable | Value |
---|---|
callback | <function View.as_view.<locals>.view at 0x7fa5536f0860> |
callback_args | () |
callback_kwargs | {} |
middleware_method | <function CsrfViewMiddleware.process_view at 0x7fa5564fb1a0> |
request | <WSGIRequest: GET '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F'> |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7fa556683750> |
wrapped_callback | <function View.as_view.<locals>.view at 0x7fa5532480e0> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/sentry_sdk/integrations/django/views.py
, line 38, in sentry_patched_render
def sentry_patched_render(self):
# type: (SimpleTemplateResponse) -> Any
hub = Hub.current
with hub.start_span(
op=OP.VIEW_RESPONSE_RENDER, description="serialize response"
):
return old_render(self) ^^^^^^^^^^^^^^^^…
@_functools.wraps(old_make_view_atomic)
def sentry_patched_make_view_atomic(self, *args, **kwargs):
# type: (Any, *Any, **Any) -> Any
callback = old_make_view_atomic(self, *args, **kwargs)
Variable | Value |
---|---|
hub | <sentry_sdk.hub.Hub object at 0x7fa5520e8c50> |
old_render | <function SimpleTemplateResponse.render at 0x7fa56193c680> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/response.py
, line 114, in render
If the content has already been rendered, this is a no-op.
Return the baked response instance.
"""
retval = self
if not self._is_rendered:
self.content = self.rendered_content ^^^^^^^^^^^^^^^^^^^^^…
for post_callback in self._post_render_callbacks:
newretval = post_callback(retval)
if newretval is not None:
retval = newretval
return retval
Variable | Value |
---|---|
retval | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/sentry_sdk/integrations/django/templates.py
, line 75, in rendered_content
return real_rendered_content.fget(self)
with hub.start_span(
op=OP.TEMPLATE_RENDER,
description=_get_template_name_description(self.template_name),
) as span:
span.set_data("context", self.context_data)
return real_rendered_content.fget(self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
SimpleTemplateResponse.rendered_content = rendered_content
if DJANGO_VERSION < (1, 7):
return
import django.shortcuts
Variable | Value |
---|---|
DjangoIntegration | <class 'sentry_sdk.integrations.django.DjangoIntegration'> |
hub | <sentry_sdk.hub.Hub object at 0x7fa5520e8c50> |
real_rendered_content | <property object at 0x7fa561935990> |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
span | <Span(op='template.render', description:'[account/login.html, ...]', trace_id='6502e7b1378c462c8cf7fe5350b21bcf', span_id='91784d4b2b338e7d', parent_span_id='8652ad51a1f9c5cd', sampled=False)> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/response.py
, line 92, in rendered_content
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_template(self.template_name)
context = self.resolve_context(self.context_data)
return template.render(context, self._request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def add_post_render_callback(self, callback):
"""Add a new post-rendering callback.
If the response has already been rendered,
invoke the callback immediately.
Variable | Value |
---|---|
context | {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/', 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>} |
self | <TemplateResponse status_code=200, "text/html; charset=utf-8"> |
template | <django.template.backends.django.Template object at 0x7fa5518474d0> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/backends/django.py
, line 61, in render
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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
request | <WSGIRequest: GET '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F'> |
self | <django.template.backends.django.Template object at 0x7fa5518474d0> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 175, 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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Template template_string="{% extends 'base.htm..."> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 167, in _render
def __repr__(self):
return '<%s template_string="%s...">' % (
self.__class__.__qualname__,
self.source[:20].replace("\n", ""),
)
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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Template template_string="{% extends 'base.htm..."> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | [<ExtendsNode: extends 'base.html'>] |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fa5520ef820> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <ExtendsNode: extends 'base.html'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <ExtendsNode: extends 'base.html'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/loader_tags.py
, line 157, in render
}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
class IncludeNode(Node):
context_key = "__include_context"
def __init__(
Variable | Value |
---|---|
block_context | <BlockContext: blocks=defaultdict(<class 'list'>, {'title': [<Block Node: title. Contents: []>, <Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>, <Block Node: title. Contents: [<TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2ef50>, <TextNode: '\n'>]>], 'content': [<Block Node: content. Contents: []>], 'bootstrap_title': [<Block Node: bootstrap_title. Contents: []>, <Block Node: bootstrap_title. Contents: [<Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>]>], 'extra_head': [<Block Node: extra_head. Contents: []>], 'content_with_title': [], 'extra_body': [<Block Node: extra_body. Contents: []>]})> |
compiled_parent | <Template template_string="{% extends 'bootstra..."> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <ExtendsNode: extends 'bootstrap.html'> |
self | <ExtendsNode: extends 'base.html'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 167, in _render
def __repr__(self):
return '<%s template_string="%s...">' % (
self.__class__.__qualname__,
self.source[:20].replace("\n", ""),
)
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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Template template_string="{% extends 'bootstra..."> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | [<ExtendsNode: extends 'bootstrap.html'>] |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fa5520ef400> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <ExtendsNode: extends 'bootstrap.html'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <ExtendsNode: extends 'bootstrap.html'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/loader_tags.py
, line 157, in render
}
block_context.add_blocks(blocks)
break
# Call Template._render explicitly so the parser context stays
# the same.
with context.render_context.push_state(compiled_parent, isolated_context=False):
return compiled_parent._render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
class IncludeNode(Node):
context_key = "__include_context"
def __init__(
Variable | Value |
---|---|
block_context | <BlockContext: blocks=defaultdict(<class 'list'>, {'title': [<Block Node: title. Contents: []>, <Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>, <Block Node: title. Contents: [<TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2ef50>, <TextNode: '\n'>]>], 'content': [<Block Node: content. Contents: []>], 'bootstrap_title': [<Block Node: bootstrap_title. Contents: []>, <Block Node: bootstrap_title. Contents: [<Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>]>], 'extra_head': [<Block Node: extra_head. Contents: []>], 'content_with_title': [], 'extra_body': [<Block Node: extra_body. Contents: []>]})> |
blocks | {'bootstrap_title': <Block Node: bootstrap_title. Contents: []>, 'content': <Block Node: content. Contents: []>, 'content_with_title': <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]>, 'extra_body': <Block Node: extra_body. Contents: []>, 'extra_head': <Block Node: extra_head. Contents: []>, 'title': <Block Node: title. Contents: []>} |
compiled_parent | <Template template_string="<!DOCTYPE html>{% l..."> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <django.template.defaulttags.LoadNode object at 0x7fa552014f10> |
self | <ExtendsNode: extends 'bootstrap.html'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 167, in _render
def __repr__(self):
return '<%s template_string="%s...">' % (
self.__class__.__qualname__,
self.source[:20].replace("\n", ""),
)
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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Template template_string="<!DOCTYPE html>{% l..."> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | [<TextNode: '<!DOCTYPE html>\n'>, <django.template.defaulttags.LoadNode object at 0x7fa552014f10>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa552016810>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa552015750>, <TextNode: '\n<html>\n\n<head>\n <meta'>, <TextNode: '\n <title>'>, <django.template.defaulttags.FilterNode object at 0x7fa55172f150>, <TextNode: ' - RingBase.org</title>\n '>, <TextNode: "\n\n <link href='//fonts">, <django.template.library.SimpleNode object at 0x7fa552016ed0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7fa552017190>, <TextNode: '\n <link rel="styleshee'>, StaticNode(varname=None, path=<FilterExpression "'css/app.css'">), <TextNode: '">\n <link href="'>, StaticNode(varname=None, path=<FilterExpression '"plugins/multiselect/css/multi-select.css"'>), <TextNode: '" rel="stylesheet"/>\n '>, StaticNode(varname=None, path=<FilterExpression '"plugins/bootstrap-datepicker/css/bootstrap-datepicker3.min.css"'>), <TextNode: '" rel="stylesheet">\n\n '>, StaticNode(varname=None, path=<FilterExpression '"plugins/multiselect/js/jquery.multi-select.js"'>), <TextNode: '"></script>\n <script s'>, StaticNode(varname=None, path=<FilterExpression '"plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js"'>), <TextNode: '"></script>\n\n <script>'>, <django.templatetags.i18n.TranslateNode object at 0x7fa55161ba90>, <TextNode: "</h4>',\n '">, <django.templatetags.i18n.TranslateNode object at 0x7fa551671090>, <TextNode: "</h4>',\n '">, <TextNode: '\n <script type="text/j'>, StaticNode(varname=None, path=<FilterExpression '"django_tables2_column_shifter/js/django_tables2_column_shifter.min.js"'>), <TextNode: '">\n </script>\n '>, <Block Node: extra_head. Contents: []>, <TextNode: '\n <script src="https:/'>, StaticNode(varname=None, path=<FilterExpression "'img/obs_logo_h60.png'">), <TextNode: '" class="img-responsive">'>, <URLNode view_name=''home'' args=[] kwargs={} as=None>, <TextNode: '">RINGBASE</a>\n '>, <IncludeNode: template=<FilterExpression "'_navbar.html'">>, <TextNode: '\n </div>\n\n <div cla'>, <django.template.library.SimpleNode object at 0x7fa5533ea610>, <TextNode: '\n </div>\n\n '>, <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]>, <TextNode: '\n\n </div>\n </di'>, <IncludeNode: template=<FilterExpression "'_footer.html'">>, <TextNode: '\n </div>\n </div'>, <TextNode: '\n\n '>, <IfNode>, <TextNode: '\n\n <script>\n va'>, <IfNode>, <TextNode: '\n auto'>, <Block Node: extra_body. Contents: []>, <TextNode: '\n</body>\n'>] |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fa5520ef7f0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/loader_tags.py
, line 63, in render
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)
block.context = context
context["block"] = block
result = block.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, "context"):
Variable | Value |
---|---|
block | <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]> |
block_context | <BlockContext: blocks=defaultdict(<class 'list'>, {'title': [<Block Node: title. Contents: []>, <Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>, <Block Node: title. Contents: [<TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2ef50>, <TextNode: '\n'>]>], 'content': [<Block Node: content. Contents: []>], 'bootstrap_title': [<Block Node: bootstrap_title. Contents: []>, <Block Node: bootstrap_title. Contents: [<Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>]>], 'extra_head': [<Block Node: extra_head. Contents: []>], 'content_with_title': [], 'extra_body': [<Block Node: extra_body. Contents: []>]})> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
push | <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]> |
self | <Block Node: content_with_title. Contents: [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>]> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | [<TextNode: '\n <h1 clas'>, <Block Node: title. Contents: []>, <TextNode: '</h1>\n '>, <Block Node: content. Contents: []>, <TextNode: '\n '>] |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fa553434be0> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <Block Node: content. Contents: []> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Block Node: content. Contents: []> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/loader_tags.py
, line 63, in render
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)
block.context = context
context["block"] = block
result = block.nodelist.render(context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
if push is not None:
block_context.push(self.name, push)
return result
def super(self):
if not hasattr(self, "context"):
Variable | Value |
---|---|
block | <Block Node: content. Contents: [<TextNode: '\n\n <div class="row">\n\n'>, <IncludeNode: template=<FilterExpression "'account/_login_form.html'">>, <TextNode: '\n </div>\n\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2fd90>, <TextNode: '</h2>\n <p><a c'>, <URLNode view_name=''account_reset_password'' args=[] kwargs={} as=None>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2f050>, <TextNode: '</a></p>\n\n </div>\n'>]> |
block_context | <BlockContext: blocks=defaultdict(<class 'list'>, {'title': [<Block Node: title. Contents: []>, <Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>, <Block Node: title. Contents: [<TextNode: '\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2ef50>, <TextNode: '\n'>]>], 'content': [<Block Node: content. Contents: []>], 'bootstrap_title': [<Block Node: bootstrap_title. Contents: []>, <Block Node: bootstrap_title. Contents: [<Block Node: title. Contents: [<django.templatetags.i18n.TranslateNode object at 0x7fa55172d550>]>]>], 'extra_head': [<Block Node: extra_head. Contents: []>], 'content_with_title': [], 'extra_body': [<Block Node: extra_body. Contents: []>]})> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
push | <Block Node: content. Contents: [<TextNode: '\n\n <div class="row">\n\n'>, <IncludeNode: template=<FilterExpression "'account/_login_form.html'">>, <TextNode: '\n </div>\n\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2fd90>, <TextNode: '</h2>\n <p><a c'>, <URLNode view_name=''account_reset_password'' args=[] kwargs={} as=None>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2f050>, <TextNode: '</a></p>\n\n </div>\n'>]> |
self | <Block Node: content. Contents: []> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | [<TextNode: '\n\n <div class="row">\n\n'>, <IncludeNode: template=<FilterExpression "'account/_login_form.html'">>, <TextNode: '\n </div>\n\n '>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2fd90>, <TextNode: '</h2>\n <p><a c'>, <URLNode view_name=''account_reset_password'' args=[] kwargs={} as=None>, <TextNode: '">'>, <django.templatetags.i18n.TranslateNode object at 0x7fa551e2f050>, <TextNode: '</a></p>\n\n </div>\n'>] |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fa556774880> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <IncludeNode: template=<FilterExpression "'account/_login_form.html'">> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <IncludeNode: template=<FilterExpression "'account/_login_form.html'">> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/loader_tags.py
, line 208, in render
template = template.template
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 | {('account/_login_form.html',): <Template template_string="{% load i18n %}{% l...">} |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <IncludeNode: template=<FilterExpression "'account/_login_form.html'">> |
template | <Template template_string="{% load i18n %}{% l..."> |
template_name | ('account/_login_form.html',) |
values | {} |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 177, 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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Template template_string="{% load i18n %}{% l..."> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 167, in _render
def __repr__(self):
return '<%s template_string="%s...">' % (
self.__class__.__qualname__,
self.source[:20].replace("\n", ""),
)
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}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <Template template_string="{% load i18n %}{% l..."> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in render
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | [<django.template.defaulttags.LoadNode object at 0x7fa551862610>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa5518610d0>, <TextNode: '\n'>, <django.template.defaulttags.LoadNode object at 0x7fa5520a2950>, <TextNode: '\n\n'>, <django.template.library.SimpleNode object at 0x7fa5520a2390>, <TextNode: '\n\n'>, <IfNode>, <TextNode: '\n\n<form class="form" meth'>, <URLNode view_name=''account_login'' args=[] kwargs={} as=None>, <TextNode: '">\n '>, <django.template.defaulttags.CsrfTokenNode object at 0x7fa551db3350>, <TextNode: '\n '>, <IfNode>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7fa55161bed0>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7fa551db0d90>, <TextNode: '\n '>, <django.template.library.SimpleNode object at 0x7fa55161bc10>, <TextNode: '\n <button type="submit'>, <django.templatetags.i18n.TranslateNode object at 0x7fa551db12d0>, <TextNode: '</button>\n</form>\n'>] |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 1005, in <listcomp>
class NodeList(list):
# Set to True the first time a non-TextNode is inserted by
# extend_nodelist().
contains_nontext = False
def render(self, context):
return SafeString("".join([node.render_annotated(context) for node in self])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def get_nodes_by_type(self, nodetype):
"Return a list of all nodes of the given type"
nodes = []
for node in self:
nodes.extend(node.get_nodes_by_type(nodetype))
Variable | Value |
---|---|
.0 | <list_iterator object at 0x7fa5520f2c80> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
node | <django.template.library.SimpleNode object at 0x7fa5520a2390> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/base.py
, line 966, 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:
# Store the actual node that caused the exception.
if not hasattr(e, "_culprit_node"):
e._culprit_node = self
if (
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
self | <django.template.library.SimpleNode object at 0x7fa5520a2390> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/template/library.py
, line 237, in render
def __init__(self, func, takes_context, args, kwargs, target_var):
super().__init__(func, takes_context, args, kwargs)
self.target_var = target_var
def render(self, context):
resolved_args, resolved_kwargs = self.get_resolved_arguments(context)
output = self.func(*resolved_args, **resolved_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
if self.target_var is not None:
context[self.target_var] = output
return ""
if context.autoescape:
output = conditional_escape(output)
return output
Variable | Value |
---|---|
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
resolved_args | [[{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}]] |
resolved_kwargs | {} |
self | <django.template.library.SimpleNode object at 0x7fa5520a2390> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py
, line 99, in get_providers
Usage: `{% get_providers as socialaccount_providers %}`.
Then within the template context, `socialaccount_providers` will hold
a list of social providers configured for the current site.
"""
request = context["request"]
adapter = get_adapter(request)
providers = adapter.list_providers(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
return sorted(providers, key=lambda p: p.name)
Variable | Value |
---|---|
adapter | <allauth.socialaccount.adapter.DefaultSocialAccountAdapter object at 0x7fa551673590> |
context | [{'True': True, 'False': False, 'None': None}, {}, {}, {'form': <LoginForm bound=False, valid=Unknown, fields=(login;password;remember)>, 'view': <allauth.account.views.LoginView object at 0x7fa551787150>, 'signup_url': '/accounts/signup/?next=%2Ffieldwork%2Fvisits%2F1755%2F', 'site': <Site: ringbase.org>, 'redirect_field_name': 'next', 'redirect_field_value': '/fieldwork/visits/1755/'}] |
request | <WSGIRequest: GET '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F'> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/allauth/socialaccount/adapter.py
, line 177, in list_providers
return serialize_instance(instance)
def list_providers(self, request):
from allauth.socialaccount.providers import registry
ret = []
provider_classes = registry.get_class_list()
apps = self.list_apps(request) ^^^^^^^^^^^^^^^^^^^^^^^…
apps_map = {}
for app in apps:
apps_map.setdefault(app.provider, []).append(app)
for provider_class in provider_classes:
provider_apps = apps_map.get(provider_class.id, [])
if not provider_apps:
Variable | Value |
---|---|
provider_classes | [] |
registry | <allauth.socialaccount.providers.ProviderRegistry object at 0x7fa556b66fd0> |
request | <WSGIRequest: GET '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F'> |
ret | [] |
self | <allauth.socialaccount.adapter.DefaultSocialAccountAdapter object at 0x7fa551673590> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/allauth/socialaccount/adapter.py
, line 234, in list_apps
db_apps = SocialApp.objects.on_site(request)
if provider:
db_apps = db_apps.filter(
Q(provider_id="", provider=provider) | Q(provider_id=provider)
)
if client_id:
db_apps = db_apps.filter(client_id=client_id)
for app in db_apps: ^^^^^^^^^^^^^^^^^^^^…
apps = provider_to_apps.setdefault(app.provider, [])
apps.append(app)
# Then, extend it with the settings backed apps.
for p, pcfg in app_settings.PROVIDERS.items():
app_configs = pcfg.get("APPS")
Variable | Value |
---|---|
SocialApp | <class 'allauth.socialaccount.models.SocialApp'> |
client_id | None |
db_apps | Error in formatting: ProgrammingError: column socialaccount_socialapp.provider_id does not exist LINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc... ^ HINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider". |
provider | None |
provider_to_apps | {} |
request | <WSGIRequest: GET '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F'> |
self | <allauth.socialaccount.adapter.DefaultSocialAccountAdapter object at 0x7fa551673590> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/models/query.py
, line 398, in __iter__
2. sql.compiler.results_iter()
- Returns one row at time. At this point the rows are still just
tuples. In some cases the return values are converted to
Python values at this location.
3. self.iterator()
- Responsible for turning the rows into model objects.
"""
self._fetch_all() ^^^^^^^^^^^^^^^^^…
return iter(self._result_cache)
def __aiter__(self):
# Remember, __aiter__ itself is synchronous, it's the thing it returns
# that is async!
async def generator():
Variable | Value |
---|---|
self | Error in formatting: ProgrammingError: column socialaccount_socialapp.provider_id does not exist LINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc... ^ HINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider". |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/models/query.py
, line 1881, in _fetch_all
c._known_related_objects = self._known_related_objects
c._iterable_class = self._iterable_class
c._fields = self._fields
return c
def _fetch_all(self):
if self._result_cache is None:
self._result_cache = list(self._iterable_class(self)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
if self._prefetch_related_lookups and not self._prefetch_done:
self._prefetch_related_objects()
def _next_is_sticky(self):
"""
Indicate that the next filter call and the one following that should
Variable | Value |
---|---|
self | Error in formatting: ProgrammingError: column socialaccount_socialapp.provider_id does not exist LINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc... ^ HINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider". |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/models/query.py
, line 91, in __iter__
def __iter__(self):
queryset = self.queryset
db = queryset.db
compiler = queryset.query.get_compiler(using=db)
# Execute the query. This will also fill compiler.select, klass_info,
# and annotations.
results = compiler.execute_sql(…
chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size
)
select, klass_info, annotation_col_map = (
compiler.select,
compiler.klass_info,
compiler.annotation_col_map,
Variable | Value |
---|---|
compiler | <SQLCompiler model=SocialApp connection=<DatabaseWrapper vendor='postgresql' alias='default'> using='default'> |
db | 'default' |
queryset | Error in formatting: ProgrammingError: column socialaccount_socialapp.provider_id does not exist LINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc... ^ HINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider". |
self | <django.db.models.query.ModelIterable object at 0x7fa551f6f9d0> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/models/sql/compiler.py
, line 1562, in execute_sql
else:
return
if chunked_fetch:
cursor = self.connection.chunked_cursor()
else:
cursor = self.connection.cursor()
try:
cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^…
except Exception:
# Might fail for server-side cursors (e.g. connection closed)
cursor.close()
raise
if result_type == CURSOR:
Variable | Value |
---|---|
chunk_size | 100 |
chunked_fetch | False |
cursor | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
params | (1,) |
result_type | 'multi' |
self | <SQLCompiler model=SocialApp connection=<DatabaseWrapper vendor='postgresql' alias='default'> using='default'> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/backends/utils.py
, line 102, in execute
class CursorDebugWrapper(CursorWrapper):
# XXX callproc isn't instrumented at this time.
def execute(self, sql, params=None):
with self.debug_sql(sql, params, use_last_executed_query=True):
return super().execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def executemany(self, sql, param_list):
with self.debug_sql(sql, param_list, many=True):
return super().executemany(sql, param_list)
@contextmanager
Variable | Value |
---|---|
__class__ | <class 'django.db.backends.utils.CursorDebugWrapper'> |
params | (1,) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/sentry_sdk/integrations/django/__init__.py
, line 616, in execute
if hub.get_integration(DjangoIntegration) is None:
return real_execute(self, sql, params)
with record_sql_queries(
hub, self.cursor, sql, params, paramstyle="format", executemany=False
) as span:
_set_db_data(span, self.db.vendor, self.db.get_connection_params())
return real_execute(self, sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def executemany(self, sql, param_list):
# type: (CursorWrapper, Any, List[Any]) -> Any
hub = Hub.current
if hub.get_integration(DjangoIntegration) is None:
return real_executemany(self, sql, param_list)
Variable | Value |
---|---|
hub | <sentry_sdk.hub.Hub object at 0x7fa5520e8c50> |
params | (1,) |
real_execute | <function CursorWrapper.execute at 0x7fa561a97ba0> |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
span | <Span(op='db', description:'SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", "socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", "socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", "socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM "socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id") WHERE "socialaccount_socialapp_sites"."site_id" = %s', trace_id='6502e7b1378c462c8cf7fe5350b21bcf', span_id='950a53615a3138ac', parent_span_id='91784d4b2b338e7d', sampled=False)> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/backends/utils.py
, line 67, in execute
elif kparams is None:
return self.cursor.callproc(procname, params)
else:
params = params or ()
return self.cursor.callproc(procname, params, kparams)
def execute(self, sql, params=None):
return self._execute_with_wrappers(…
sql, params, many=False, executor=self._execute
)
def executemany(self, sql, param_list):
return self._execute_with_wrappers(
sql, param_list, many=True, executor=self._executemany
Variable | Value |
---|---|
params | (1,) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/backends/utils.py
, line 80, in _execute_with_wrappers
sql, param_list, many=True, executor=self._executemany
)
def _execute_with_wrappers(self, sql, params, many, executor):
context = {"connection": self.db, "cursor": self}
for wrapper in reversed(self.db.execute_wrappers):
executor = functools.partial(wrapper, executor)
return executor(sql, params, many, context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
Variable | Value |
---|---|
context | {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050>} |
executor | <bound method CursorWrapper._execute of <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050>> |
many | False |
params | (1,) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/backends/utils.py
, line 84, in _execute
context = {"connection": self.db, "cursor": self}
for wrapper in reversed(self.db.execute_wrappers):
executor = functools.partial(wrapper, executor)
return executor(sql, params, many, context)
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050>}) |
params | (1,) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/utils.py
, line 91, in __exit__
db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__)
if issubclass(exc_type, db_exc_type):
dj_exc_value = dj_exc_type(*exc_value.args)
# Only set the 'errors_occurred' flag for errors that may make
# the connection unusable.
if dj_exc_type not in (DataError, IntegrityError):
self.wrapper.errors_occurred = True
raise dj_exc_value.with_traceback(traceback) from exc_value ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def __call__(self, func):
# Note that we are intentionally not using @wraps here for performance
# reasons. Refs #21109.
def inner(*args, **kwargs):
with self:
Variable | Value |
---|---|
db_exc_type | <class 'psycopg.ProgrammingError'> |
dj_exc_type | <class 'django.db.utils.ProgrammingError'> |
dj_exc_value | ProgrammingError('column socialaccount_socialapp.provider_id does not exist\nLINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc...\n ^\nHINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider".') |
exc_type | <class 'psycopg.errors.UndefinedColumn'> |
exc_value | UndefinedColumn('column socialaccount_socialapp.provider_id does not exist\nLINE 1: ...lapp"."id", "socialaccount_socialapp"."provider", "socialacc...\n ^\nHINT: Perhaps you meant to reference the column "socialaccount_socialapp.provider".') |
self | <django.db.utils.DatabaseErrorWrapper object at 0x7fa5537ec750> |
traceback | <traceback object at 0x7fa551672440> |
/home/ringbase/virtualenv/lib/python3.11/site-packages/django/db/backends/utils.py
, line 89, in _execute
def _execute(self, sql, params, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
if params is None:
# params default might be backend specific.
return self.cursor.execute(sql)
else:
return self.cursor.execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
def _executemany(self, sql, param_list, *ignored_wrapper_args):
self.db.validate_no_broken_transaction()
with self.db.wrap_database_errors:
return self.cursor.executemany(sql, param_list)
Variable | Value |
---|---|
ignored_wrapper_args | (False, {'connection': <DatabaseWrapper vendor='postgresql' alias='default'>, 'cursor': <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050>}) |
params | (1,) |
self | <django.db.backends.postgresql.base.CursorDebugWrapper object at 0x7fa551db3050> |
sql | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
/home/ringbase/virtualenv/lib/python3.11/site-packages/psycopg/cursor.py
, line 737, in execute
"""
try:
with self._conn.lock:
self._conn.wait(
self._execute_gen(query, params, prepare=prepare, binary=binary)
)
except e._NO_TRACEBACK as ex:
raise ex.with_traceback(None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^…
return self
def executemany(
self,
query: Query,
params_seq: Iterable[Params],
Variable | Value |
---|---|
binary | None |
params | (1,) |
prepare | None |
query | ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", ' '"socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", ' '"socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", ' '"socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM ' '"socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ' '("socialaccount_socialapp"."id" = ' '"socialaccount_socialapp_sites"."socialapp_id") WHERE ' '"socialaccount_socialapp_sites"."site_id" = %s') |
self | <django.db.backends.postgresql.base.Cursor [closed] [IDLE] (database=ringbase) at 0x7fa551856750> |
AnonymousUser
Variable | Value |
---|---|
next | '/fieldwork/visits/1755/' |
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
CONTENT_LENGTH | '' |
CONTENT_TYPE | '' |
DOCUMENT_ROOT | '/usr/share/nginx/html' |
HTTPS | 'on' |
HTTP_ACCEPT | '*/*' |
HTTP_HOST | 'ringbase.org' |
HTTP_USER_AGENT | 'claudebot' |
PATH_INFO | '/accounts/login/' |
QUERY_STRING | 'next=%2Ffieldwork%2Fvisits%2F1755%2F' |
REMOTE_ADDR | '54.208.135.174' |
REMOTE_PORT | '48860' |
REQUEST_METHOD | 'GET' |
REQUEST_SCHEME | 'https' |
REQUEST_URI | '/accounts/login/?next=%2Ffieldwork%2Fvisits%2F1755%2F' |
SCRIPT_NAME | '' |
SERVER_NAME | 'ringbase.org' |
SERVER_PORT | '443' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | b'zp' |
uwsgi.version | b'2.0.22' |
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 0x7fa551864f50> |
wsgi.multiprocess | False |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
app.settings
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | ['*'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('rules.permissions.ObjectPermissionBackend', 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend') |
AUTH_PASSWORD_VALIDATORS | '********************' |
AUTH_USER_MODEL | 'auth.User' |
BASE_DIR | '/home/ringbase/django' |
BOOTSTRAP3 | {'base_url': '/static/plugins/bootstrap/', 'horizontal_field_class': 'col-md-10', 'horizontal_label_class': 'col-md-2', 'include_jquery': False, 'javascript_in_head': True, 'success_css_class': ''} |
CACHES | {'default': {'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache', 'LOCATION': '127.0.0.1:11211'}} |
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_MASKED | 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 |
CURRENT_ENV | 'PRODUCTION' |
DATABASES | {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 600, 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'HOST': None, 'NAME': 'ringbase', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'ringbase'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATA_UPLOAD_MAX_NUMBER_FILES | 100 |
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.AutoField' |
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 | 'info@ringbase.org' |
DEFAULT_INDEX_TABLESPACE | '' |
DEFAULT_TABLESPACE | '' |
DISALLOWED_USER_AGENTS | [] |
DJANGO_ICONS | {'ICONS': {'download': {'name': 'fas fa-download'}, 'warning': {'name': 'fas fa-exclamation-triangle'}}} |
EMAIL_BACKEND | 'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | 'localhost' |
EMAIL_HOST_PASSWORD | '********************' |
EMAIL_HOST_USER | '' |
EMAIL_PORT | 25 |
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 | False |
EXCEL_SUPPORT | 'xlwt' |
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' |
GIT_BRANCH | 'feature/upgrade' |
GIT_SHA | '9cc9151f6e80535cdb61cc41ae3821b0a3f5c1a7' |
GOOGLE_API_KEY | '********************' |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ('modeltrans', 'markdown_deux', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'rules.apps.AutodiscoverRulesConfig', 'bootstrap3', 'django_icons', 'leaflet', 'rosetta', 'rest_framework', 'rest_framework.authtoken', 'rest_framework_gis', 'rest_framework_extensions', 'charting', 'django_tables2', 'django_filters', 'django_tables2_column_shifter', 'stdimage', 'django_select2', 'app.countries', 'app.languages', 'app.attrs', 'app.organizations', 'app.locations', 'app.schemes', 'app.species', 'app.animals', 'app.rings', 'app.photos', 'app.projects', 'app.fieldwork', 'app.euring', 'app.users', 'django.contrib.admin', 'teramap') |
INTERNAL_IPS | [] |
LANGUAGES | (('en', 'English'), ('nl', 'Dutch'), ('ka', 'Georgian')) |
LANGUAGES_BIDI | ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ur'] |
LANGUAGE_CODE | 'en' |
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 |
LEAFLET_CONFIG | {'DEFAULT_CENTER': (51.0, 4.0), 'DEFAULT_ZOOM': 6, 'MAX_ZOOM': 19, 'MIN_ZOOM': 1, 'RESET_VIEW': False, 'TILES': [('OpenStreetMap', '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {'attribution': '© OpenStreetMap', 'maxNativeZoom': 19, 'maxZoom': 19, 'minZoom': 1, 'tms': False})]} |
LOCALE_PATHS | [] |
LOGGING | {} |
LOGGING_CONFIG | 'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | 'home' |
LOGIN_URL | '/accounts/login/' |
LOGOUT_REDIRECT_URL | None |
MANAGERS | [] |
MEDIA_ROOT | '/home/ringbase/django/../media' |
MEDIA_URL | '/media/' |
MESSAGE_STORAGE | 'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ('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', 'django.middleware.security.SecurityMiddleware', 'django.middleware.locale.LocaleMiddleware') |
MIGRATION_MODULES | {} |
MODELTRANSLATION_FALLBACK_LANGUAGES | {'default': ('en', 'nl', 'ka'), 'ka': ('en',), 'nl': ('en',)} |
MODELTRANS_FALLBACK | {'default': ('en',)} |
MONTH_DAY_FORMAT | 'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | '********************' |
PASSWORD_RESET_TIMEOUT | '********************' |
PREPEND_WWW | False |
REST_FRAMEWORK | {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.TokenAuthentication', 'rest_framework.authentication.SessionAuthentication'), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',), 'MAX_PAGINATE_BY': 100, 'PAGE_SIZE': 100, 'PAGINATE_BY': 100, 'PAGINATE_BY_PARAM': 'page_size'} |
ROOT_URLCONF | 'app.urls' |
SECRET_KEY | '********************' |
SECRET_KEY_FALLBACKS | '********************' |
SECURE_CONTENT_TYPE_NOSNIFF | True |
SECURE_CROSS_ORIGIN_OPENER_POLICY | 'same-origin' |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_PRELOAD | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_FORWARDED_PROTO', 'https') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_REFERRER_POLICY | 'same-origin' |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SELECT2_CACHE_BACKEND | 'default' |
SELECT2_CACHE_PREFIX | 'select2_' |
SELECT2_CSS | ['admin/css/vendor/select2/select2.min.css'] |
SELECT2_I18N_AVAILABLE_LANGUAGES | ['ar', 'az', 'bg', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'et', 'eu', 'fa', 'fi', 'fr', 'gl', 'he', 'hi', 'hr', 'hu', 'id', 'is', 'it', 'ja', 'km', 'ko', 'lt', 'lv', 'mk', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt', 'ro', 'ru', 'sk', 'sr-Cyrl', 'sr', 'sv', 'th', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW'] |
SELECT2_I18N_PATH | 'admin/js/vendor/select2/i18n' |
SELECT2_JS | ['admin/js/vendor/select2/select2.full.min.js'] |
SELECT2_JSON_ENCODER | 'django.core.serializers.json.DjangoJSONEncoder' |
SELECT2_THEME | 'default' |
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 | True |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | 'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'app.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 |
STATICFILES_DIRS | ('/home/ringbase/django/static',) |
STATICFILES_FINDERS | ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder'] |
STATICFILES_STORAGE | 'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/home/ringbase/django/../staticfiles' |
STATIC_URL | '/static/' |
STORAGES | {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}} |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/ringbase/django/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', 'django.template.context_processors.static', 'app.context_processors.schemes_context_processor'], 'loaders': ['django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader']}}] |
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_DEPRECATED_PYTZ | False |
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 | 'app.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.