Skip to content

Staticfiles in TemplatesPanel aren't allowing viewing static file content #2160

@tim-schilling

Description

@tim-schilling

The static files panel is rendering the used static files with empty href="" attributes:

Image

When functioning properly, it should look like:

Image

Suggested solution:

staticfiles.py

def generate_stats(self, request, response): self.record_stats( { "num_found": self.num_found, "num_used": len(self.used_paths), # We can't store a dataclass, so we should convert it to a dictionary when it gets stored. "staticfiles": [{**vars(staticfile), "real_path": staticfile.real_path()} for staticfile in sorted(self.used_paths)], "staticfiles_apps": self.get_staticfiles_apps(), "staticfiles_dirs": self.get_staticfiles_dirs(), "staticfiles_finders": self.get_staticfiles_finders(), } )

staticfiles.html

<h4>{% blocktranslate count staticfiles_count=staticfiles|length %}Static file{% plural %}Static files{% endblocktranslate %}</h4> {% if staticfiles %} <dl> {% for staticfile in staticfiles %} {# Ideally we'd use remoteCall to inject the content, but for now let's open the content in a separate tab/window #} {# We also need to explicitly render the path as we want to see it. Not use the __str__ method #} <dt><strong><a class="toggleTemplate" target="_blank" href="{{ staticfile.url }}">{{ staticfile.path }}</a></strong></dt> <dd><samp>{{ staticfile.real_path }}</samp></dd> {% endfor %} </dl> {% else %} <p>{% translate "None" %}</p> {% endif %}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions