簡體   English   中英

django不會從statifiles_dirs加載靜態文件

[英]django won't load staticfiles from statifiles_dirs

我的style.css放在appname/static/appname/

我的settings.py具有以下代碼:

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

然后在我的base.html像這樣加載它:

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'appname/style.css' %}">

但是樣式沒有加載。 如果我刪除STATICFILES_DIRS並將STATIC_URL = '/static/'更改為STATIC_URL = '/static/appname/' ,它會很好地工作,但是我想這不是最佳實踐,因為以后我將其他任何應用程序添加到項目中。 我可能做錯了什么?

刪除{%static'appname / style.css'%}中的“ appname”,您不得將其放置在此處,因為python自動知道文件位於哪個應用程序中,它會從請求中獲取應用程序名稱

只要改變一件事,

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

它將在您的應用程序內的靜態文件夾中搜索。 另外,如果您要添加特定目錄,

STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"), '/your specific directory/',
)

從這里您可以直接添加特定的文件名,djnago將在該特定目錄中搜​​索。

默認情況下,django從應用程序的目錄中選擇static目錄。 因此,如果您的靜態目錄位於應用程序目錄中,則無需指定STATICFILES_DIRS 現在, /static/將指向應用程序靜態目錄中的文件和目錄。 引用您的css文件使用

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'appname/style.css' %}">

暫無
暫無

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

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