Skip to content

Commit a9f0817

Browse files
committed
wip fix django ci
1 parent ef7c39c commit a9f0817

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

sentry_sdk/integrations/django/templates.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ def rendered_content(self):
7373
name=_get_template_name_description(self.template_name),
7474
origin=DjangoIntegration.origin,
7575
) as span:
76-
span.set_data("context", self.context_data)
76+
if isinstance(self.context_data, dict):
77+
for k, v in self.context_data.items():
78+
span.set_data(f"context.{k}", v)
7779
return real_rendered_content.fget(self)
7880

7981
SimpleTemplateResponse.rendered_content = rendered_content
@@ -101,7 +103,8 @@ def render(request, template_name, context=None, *args, **kwargs):
101103
name=_get_template_name_description(template_name),
102104
origin=DjangoIntegration.origin,
103105
) as span:
104-
span.set_data("context", context)
106+
for k, v in context.items():
107+
span.set_data(f"context.{k}", v)
105108
return real_render(request, template_name, context, *args, **kwargs)
106109

107110
django.shortcuts.render = render

tests/integrations/django/test_basic.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from werkzeug.test import Client
99

1010
from django import VERSION as DJANGO_VERSION
11-
from django.contrib.auth.models import User
1211
from django.core.management import execute_from_command_line
1312
from django.db.utils import OperationalError, ProgrammingError, DataError
1413
from django.http.request import RawPostDataException
@@ -288,6 +287,9 @@ def test_user_captured(sentry_init, client, capture_events):
288287
def test_queryset_repr(sentry_init, capture_events):
289288
sentry_init(integrations=[DjangoIntegration()])
290289
events = capture_events()
290+
291+
from django.contrib.auth.models import User
292+
291293
User.objects.create_user("john", "[email protected]", "johnpassword")
292294

293295
try:
@@ -928,6 +930,11 @@ def test_render_spans(sentry_init, client, capture_events, render_span_tree):
928930
transaction = events[0]
929931
assert expected_line in render_span_tree(transaction)
930932

933+
render_span = next(
934+
span for span in transaction["spans"] if span["op"] == "template.render"
935+
)
936+
assert "context.user_age" in render_span["data"]
937+
931938

932939
if DJANGO_VERSION >= (1, 10):
933940
EXPECTED_MIDDLEWARE_SPANS = """\

0 commit comments

Comments
 (0)