[英]Django loading static files?
Django 沒有加載我的靜態文件。 但是它正在加載我在靜態文件夾中的模板。 chrome 也沒有看到靜態文件,我什至沒有收到 404 錯誤,是的,它們鏈接在 html 中......但它們沒有顯示在網絡面板中
這是我的 settings.py 文件
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS =(
os.path.join(BASE_DIR, 'static'),
)
這是我的 html
<head>
<title>MySite | Home</title>
<meta charset="UTF-8">
<link rel="stylesheet" type='text/css' src='css/normalize.css'>
<link href='http://fonts.googleapis.com/css?family=Questrial|Josefin+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" src='css/main.css'>
<script src="https://maps.googleapis.com/maps/api/js"></script>
</head>
抱歉,我知道這個問題已被問過多次,我已經嘗試了所有這些解決方案,但都沒有運氣。 我花了 2 天的時間試圖解決這個問題
我對靜態文件采用的方法基本上是docs 中概述的方法。
在本地開發中,只要django.contrib.staticfiles
在你的INSTALLED_APPS
並且DEBUG = True
,Django 就會自動從STATIC_ROOT
指定的目錄中提供靜態文件
我的項目結構通常如下所示:
my_project/
some_app/
lib/
static/ <------- STATIC_ROOT - used in production. `collectstatic` collects here
static_assets/ <- STATICFILES_DIRS - used in local dev
css/
less/
js/
images/
templates/ <---- TEMPLATE_DIRS
manage.py
settings.py 通常是:
INSTALLED_APPS = (
. . .
'django.contrib.staticfiles',
. . .
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static_assets'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
然后在模板中,您可以再次使用 staticfiles 應用程序的模板標簽來構建靜態文件的路徑:
{% load static from staticfiles %}
<link rel="stylesheet" href="{% static 'css/normalize.css' %}" />
另請注意,對於<link>
標記,您需要為 url 使用href
屬性而不是src
。
在您的 setting.py 文件中添加這個
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
在您的應用程序中創建一個名為 static 的文件夾,並在您的模板文件中添加此 {% load static %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.