在 django 中呈现模板时出现错误,其中包含显示在其他页面上的特定图像



我一直在尝试获取一个 Django 实例,我的前任在工作中让我启动并运行,我在模板中遇到了一个奇怪的错误,我似乎无法理解。使用新的 {% 静态 '/core/images/image_name.gif' %} 格式在所有页面的标题栏中显示图像就可以了 - 只有一个特定的例外。但是,当我单击导致错误的页面时,我被告知基本模板中存在问题,所有其他工作正常的页面也会扩展该模板。这意味着在所有其他页面上显示良好的特定图像存在问题,我不明白为什么。{% 负载静态 %} 在每个模板中执行。

Error during template rendering
In template C:path_to_projectcoretemplatescorebase.html, error at line 20
401 Client Error: for url: https://bitbucketdev.it.contoso.com/rest/api/1.0/projects?start=0&limit=1000
10      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
11      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
12      <link rel="stylesheet" type="text/css" href="{% static 'core/css/style.css' %}">
13    </head> 
14    <body>
15    <div class="container-fluid">
16      <nav class="navbar navbar-expand-sm bg-dark navbar-dark">
17        <!-- Brand/logo -->
18        <a class="navbar-brand" href="https://www.contoso.com/us/en/home.html">
19          {% load static %}
20          <img src="{% static '/core/images/contosotransparent.gif' %}" alt="Contoso Technologies" style="width:120px;">
21        </a>
22  
23        <!-- Links -->
24        <ul class="navbar-nav">
25            <li class="nav-item">
26                <a class="nav-link" href="{% url 'core:about' %}">About Smart Help Portal</a>
27            </li>
28            <li class="nav-item">
29                <a class="nav-link" href="{% url 'core:help' %}">Why Am I Here?</a>
30            </li>

有谁知道是什么导致了这种错误?我很抱歉没有提供更多细节 - 我对 Django 没有我应该熟悉的那样熟悉。如果有人可以告诉我什么,可以提示我下一步该看哪里,那将不胜感激。

这是文件的要点 - 基础.html两者都扩展,门户不起作用.html以及关于.html确实有效。

https://gist.github.com/wanderso/0846ee0acba1cd6f336f07b18adc30ea

我写这个作为答案,因为评论最大长度还不够。这是我建议的修改,请在每次修改后尝试代码(因为我已经按照原因概率排列了它们(。

1.基地.html

删除第 20 行的第二个{% load static %},并保留第 2 行的第二个(我认为这可能会导致错误(。

2. 关于.html和门户.html

{% load ... %}标记移动到页面顶部。唯一允许在它之前出现的标签是{% extends ... %}块(这不是 Django 模板中的严格规则,只是暂时消除可能的干扰(。

3. 基地.html和门户.html

{% load ... %}标签合并为一行。这意味着,在portal.html

{% load static %}
{% load portal_extras %}
{% load bootstrap4 %}
|
v
{% load static portal_extras bootstrap4 %}

base.html

{% load static %}
{% load portal_extras %}
|
v
{% load static portal_extras %}

4. 所有相关模板文件

搜索并确保没有任何双{% load ... %}标签两次加载同一模块。

最新更新