Django:CSS不是没有用

Aus*_*inT 14 html css python django web

我还是django的新手,我的CSS工作有问题.
我已经按照链接的方向:Django Static Link教程,处理静态文件.但它仍然无法正常工作.

设置

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = '/Users/a9austin/Development/sites/AlphaSocks/src/static_root/'

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
'/Users/a9austin/Development/sites/AlphaSocks/src/staticfiles'

)
Run Code Online (Sandbox Code Playgroud)

视图

#from django.http import HttpResponse
from django.shortcuts import render_to_response


def index(request):
return render_to_response('index.html')
Run Code Online (Sandbox Code Playgroud)


的index.html

<link rel="stylesheet" href="{{STATIC_URL}}css/style.css" type="text/css" media="screen" >
Run Code Online (Sandbox Code Playgroud)

和目录组织

SRC-> staticfiles-> CSS->的style.css



非常感谢你,非常感谢你的帮助和时间!

mik*_*725 30

要让Django提供静态文件,您必须确保有几个设置.

STATIC_URL

此设置指定静态文件应映射到的URL.你已经完成了.

STATICFILES_DIRS

这指定了系统中Django应该查找静态文件的所有文件夹.我们的想法是,您的项目中可能有几个应用程序,每个应用程序可能需要一组不同的静态文件.因此,出于组织目的,每个应用程序可能包含一个static目录,它只存储它的静态文件.那么Django必须有办法知道这些目录的位置.这就是这个设置的用途.

STATIC_ROOT

此设置指定Django将所有静态文件复制到的位置,而不是静态文件的位置.这个想法是,一旦你将开发投入生产,Django就不能再提供静态文件了,因为我不会去这里(问题在文章中).但是对于生产,所有静态文件应该在一个目录中,而不是在许多类似的目录中STATICFILES_DIRS.因此,此设置STATICFILES_DIRS通过运行以下命令指定Django将从其中的所有文件复制所有静态文件的目录:

$ python manage.py collectstatic
Run Code Online (Sandbox Code Playgroud)

请注意,这仅在您投入生产后才需要,并且此处指定的目录不能与指定的任何目录相同STATICFILES_DIRS.

Urls.py

在开发Django以提供静态文件时,您必须在urls.py中包含静态URL:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = ...

urlpatterns += staticfiles_urlpatterns()
Run Code Online (Sandbox Code Playgroud)

完成上述所有操作后,只要您拥有静态文件即可DEBUG = True.在上面的列表中,您似乎只完成了STATIC_URL.另请注意,我在上面描述的所有步骤都在您在问题(链接)中链接的文档中.它可能在开始时有点令人困惑,但如果你阅读它几次,它就会变得更加清晰.


小智 14

尝试清除缓存。如果您使用的是 Google Chrome,请转到设置>清除浏览数据>选择清除缓存的图像和文件,然后单击清除数据


Phi*_*hil 5

对我来说它正在改变

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

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