【问题标题】:Static files in Django 1.6Django 1.6 中的静态文件
【发布时间】:2013-11-22 09:00:23
【问题描述】:

我可能在这里做错了很多事情,因为尽管密切关注本教程,但我仍然无法让静态文件在我的开发环境中正常工作。我有一种感觉是因为它在 Django 1.6 中的工作方式略有不同,我只能找到以前版本的答案。

这是我的目录结构:

mysite
├───app1
├───mysite
│   └───templates
├───resources
├───static
│   ├───css
│   ├───fonts
│   └───js
└───app2

我安装的应用程序,以证明我有静态文件:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1',
    'app2',
)

我的模板和静态文件设置:

 # Templates
TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, "mysite/templates"),
)

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/

STATIC_URL = '/static/'

我什至按照建议在我的urls.py 中这样做了:

urlpatterns = patterns('',
    ...
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

最后,我的请求:

{% load staticfiles %}
<link href="{% static "css/core.css" %}" rel="stylesheet">

如果我直接导​​航到http://127.0.0.1/static/css/core.css,我会得到'css\core.css' could not be found

请告诉我我做错了什么=[

【问题讨论】:

    标签: django django-staticfiles


    【解决方案1】:

    由于静态目录不在其中一个应用程序(app1、app2 在您的情况下)中“存在”,django 找不到静态目录。因此,使用您当前的结构,您需要将静态目录添加到 STATICFILES_DIRS。

    来自文档:

    “您的项目可能还有与特定应用程序无关的静态资产。除了在应用程序中使用 static/ 目录外,您还可以在设置文件中定义目录列表 (STATICFILES_DIRS),其中 Django还将查找静态文件。”

    类似这样的:

    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, "static"),
    )
    

    见: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-STATICFILES_DIRS

    希望这会有所帮助。

    【讨论】:

    • 一开始我认为这可以正常工作,因为它显示了一个空白页面,但后来我意识到这只是因为服务器不在线。仍然出现同样的问题!
    • 你能打印出 STATICFILES_DIRS 的内容吗?我的意思是在配置之后的某个地方。
    • ('D:\\Users\\Chris\\Documents\\GitHub\\mysite\\mysite\\static',)
    • 好的,现在路径正确吗?它是否解析为您在树结构中提供的静态目录?哦,只是为了澄清你正在使用DEBUG = True 设置正确吗?
    • 否 =) 那里不应该有两个“我的网站”。应该只是os.path.join(BASE_DIR, "static"),
    猜你喜欢
    • 2014-03-20
    • 2013-11-29
    • 2014-02-26
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2015-05-06
    • 2018-03-08
    • 1970-01-01
    相关资源
    最近更新 更多