[英]Trouble Serving Django Static Files
我在使用 runserver 提供靜態文件時遇到了很多困難。 我已經包含了下面的配置,有人可以幫忙嗎?
STATIC_URL = '/static/'
STATICFILES_DIR = (
os.path.join(BASE_DIR, 'static'),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
這是我的 base.html 文件的頂部:
<!DOCTYPE html>
{% load static %}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
<link href='https://fonts.googleapis.com/css?family=Satisfy' rel='stylesheet' type='text/css'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
到目前為止我做了什么:
我已經發出了 'python manage.py collectstatic' 命令,並且只有 'admin' 靜態文件放在 /staticfiles 目錄中。 運行命令“python manage.py findstatic css/style.css --verbosity 3”時,我得到以下結果:
C:\\Users\\john.doe\\Desktop\\sysnet>python manage.py findstatic css/style.css --verbosity 3 找不到與“css/style.css”匹配的文件。
在以下位置查看:
C:\\Python27\\lib\\site-packages\\django\\contrib\\admin\\staticC:\\Users\\john.doe\\Desktop\\sysnet>
為什么要搜索 Python27\\lib\\site-packages\\django\\contrib\\admin\\static ? 我猜這就是為什么 collectstatic 命令沒有將來自 /static 的文件放在 /staticfiles 中?
我已經包含了下面的目錄結構(減去文件),有人可以幫忙嗎?
sysnet
├───.idea
├───chef
│ ├───migrations
│ └───templates
├───static
│ ├───css
│ ├───img
│ └───js
├───staticfiles
│ └───admin
│ ├───css
│ ├───fonts
│ ├───img
│ │ └───gis
│ └───js
│ ├───admin
│ └───vendor
│ ├───jquery
│ └───xregexp
└───sysnet
我的 style.css 在 /static/css 中,它應該可以工作。 控制台輸出總是顯示 404 not found。
[29/Nov/2017 14:42:34] "GET / HTTP/1.1" 200 3588
[29/Nov/2017 14:42:34] "GET /static/css/style.css HTTP/1.1" 404 1652
我應該注意到,除了靜態文件之外,一切正常。
設置名稱是STATICFILES_DIRS
(復數)。
您的 STATICFILES_DIR 是一個元組,它應該是一個列表。 你把它括在括號中,而它應該是這樣的:
STATICFILES_DIR = [os.path.join(BASE_DIR, 'static'),]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.