在django中进行模板渲染时出现错误,并在其他页面上显示了特定的图像

时间:2018-10-01 21:13:24

标签: django

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

Error during template rendering
In template C:\path_to_project\core\templates\core\base.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的了解不如我应该的熟悉。如果有人可以告诉我什么可以告诉我下一步要去哪里,那将不胜感激。

下面是文件的要点-都可扩展的base.html,无效的portal.html和有效的about.html。

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

1 个答案:

答案 0 :(得分:0)

由于评论的最大长度不够,所以我将此作为答案。这是我建议的修改方式,请在每次修改后尝试执行代码(因为我已经按可能的原因排列了它们)。

1。 base.html

删除第二个{% load static %},它位于第20行,而第二个{% load ... %}则保持在第2行(这是我认为可能导致错误的原因)。

2。 about.html和portal.html

{% extends ... %}标签移动到页面顶部。唯一允许在其之前的标签是{% load ... %}块(这在Django模板中不是严格的规定,目前暂时是为了消除可能的干扰)。

3。 base.html和portal.html

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 %}

{% load ... %}

4。所有相关的模板文件

搜索并确保没有两次将同一模块加载两次的双acc标签。