簡體   English   中英

服務 Django 靜態文件時遇到問題

[英]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\\static

C:\\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.

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