2017-07-27 72 views
0

我正在處理一個Django項目,並且我的JavaScript文件未加載到HTML模板上。經過許多修補之後,最終得到的文件加載的名稱從'index.js'改爲'homepage.js',但我可以將其更改爲任何內容。我想保持文件與名爲'index.html'和'index.css'的HTML和CSS文件一致。爲什麼名爲'index.js'的JavaScript文件在Django模板中不起作用?

爲什麼這是'index.js'加載失敗的情況?它似乎不像文件名稱應該重要。我主要好奇,但希望這可以幫助其他人。

+0

可能是服務器配置的問題。 –

回答

0

驗證您正在擴展模板的位置是否正確配置。您可能需要使用其他模板的homepage.js。我建議有一個CSS模塊,當從主模板擴展時,模板可以覆蓋它。

main.html

<html> 
    <head> 

    <link rel="stylesheet" href="/static/styles/main.css" /> 
    {% block css_block %}{% endblock %} 

    <script src="/static/js/main.js"></script> 
    {% block js_block %}{% endblock %} 

    </head> 
    <body> 
    {% block body_block %}{% endblock %} 
    </body> 
</html> 

template.html

{% extends 'main.html' %} 

{% block css_block %} 
    <link rel="stylesheet" href="/static/styles/resource/index.css" /> 
{% endblock %} 

{% block body_block %} 
    ... 
{% endblock %} 

延長覆蓋,在父模板阻斷後寫作塊東西。它不連接。將您想要的多個CSS/JS文件main.html以及各自的模板中的單頁資產放入其各自的塊中。

如果您嘗試在兩個級別extends上執行塊,則必須確保該塊在中間模板中存在(可以爲空)。

相關問題