感谢您对此进行调查,因为它现在让我感到紧张:)
我无法获得一个style.css(或者任何静态文件都可以得到用!)而且我已经用Google搜索了,到目前为止还没有解决方案。
my urls.py:
from django.conf.urls import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf import settings
urlpatterns = patterns('',
url(r'^$', 'ports.views.home', name='home'),
)
urlpatterns += staticfiles_urlpatterns()
if settings.DEBUG:
urlpatterns += patterns('django.contrib.staticfiles.views',
url(r'^static/(?P<path>.*)$', 'serve'),
)
我的base.html,我加载静态:
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="static/css/style.css" type="text/css" />
...
我的settings.py引用了静态目录:
STATIC_URL = '/static/'
我不明白我做错了什么(或者实际上为什么它必须如此笨拙地服务这些静态)。任何湖人方面的帮助都将不胜感激!
谢谢, blargie-BLA
答案 0 :(得分:1)
在您的服务器上,您可能需要尝试此操作
python manage.py collectstatic -l
-l
创建符号链接而不是复制。这可以防止同一文件的两个副本并节省一些空间,但也意味着如果重命名原始文件,则必须重新建立链接。
有关collectstatic命令here的更多信息。
不要忘记设置STATIC_ROOT
。
仅供参考,我的settings.py
就是那部分:
# 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 = os.path.join(os.path.dirname(__file__), '..', 'static').replace('\\', '/')
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
这适用于Django 1.4+,其中settings.py
位于(例如)mysite/mysite/
之下,并且与static
文件夹不在同一级别。
答案 1 :(得分:1)
我的问题是在外块内容中添加CSS。将其移动到块内容中可以解决此问题。
{% extends "home/base.html" %}
{% load static %}
<!--<link rel="stylesheet" href="{% static 'blog/main.css' %}">-->
{% block content %}
<link rel="stylesheet" href="{% static 'blog/main.css' %}">
--some code--
{% endblock content%
答案 2 :(得分:0)
尝试:
{% load static %}
<link rel="stylesheet" href="{% static 'css/style.css' %}" type="text/css" />