簡體   English   中英

Django靜態文件404錯誤

[英]Django static files 404 error

我試圖在django項目中找到所有引導文件只在一個文件夾中並引用它們。 為了做到這一點,我已經將這些行添加到setting.py:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

我的base.html看起來像這樣:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Muplay</title>
    <link rel="stylesheet" type="text/css" href="{% static'css/bootstrap.css' %}">
    <script src="{% static 'js/bootstrap.js' %}"></script>
</head>
<body style="background-color: #F2F2F5">
    {% include 'snippets/nav.html' %}
    <div class="container">
        {% block content %}{% endblock %}
    </div>
</body>
</html>

當我將此base.html擴展到其他html文件時,css和js文件在瀏覽器中成功加載。 但是,問題是,在終端中,django返回404錯誤如下:

[10/Dec/2017 14:03:27] "GET /static/js/bootstrap.js HTTP/1.1" 404 1759
[10/Dec/2017 14:03:27] "GET /static/css/bootstrap.css HTTP/1.1" 404 1765

為什么django會在瀏覽器中成功加載這些靜態文件時返回404代碼?

刪除STATIC_ROOT添加STATICFILES_DIRS的設置文件。(在開發過程中推薦)

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

STATICFILES_DIRS:

此設置定義了在啟用FileSystemFinder查找程序時staticfiles應用程序將遍歷的其他位置,例如,如果您使用collectstatic或findstatic管理命令或使用靜態文件服務視圖。

應將其設置為包含附加文件目錄的完整路徑的字符串列表

STATIC_ROOT:

collectstatic將收集靜態文件以進行部署的目錄的絕對路徑。

如果要使用STATIC_ROOT ,則運行命令python manage.py collectstatic ,它將收集所有靜態文件到STATIC_ROOT提到的靜態目錄。 這在部署期間使用。

此處查找詳細文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM