Django 1.3 静态文件放置在应用程序目录中

标签 django

我使用的是 Django 1.3,应用程序中的静态文件令人困惑。 我在做什么: 1)设置

STATIC_ROOT = as path to directory 'static' in my project
STATIC_URL = '/static/'

2)在我的 urls.py 中服务

if settings.DEBUG:
    urlpatterns += patterns(
        '',
        url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
    )

3) 将 css 和 js 文件放入我的应用程序目录中的“static”文件夹中。 所以我得到了这样的目录树:

my_project/
    main_app/
        static/
            css/
                style.css
            js/
    secondary_app/
        static/
            foldername/
                file.css

4) 我将这两个应用程序添加到 settings.py 文件中的 INSTALLED_APPS 中。 现在在我的模板中,当我编写以下行时:

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

Django 成功在目录中找到我的 css 文件

my_project/main_app/static/css/

并插入 style.css 但是当我写

<link rel="stylesheet" href="{{ STATIC_URL }}foldername/file.css" type="text/css" />

Django 未插入此文件。

所以我的问题是:我做错了什么?为什么我无法从 secondary_app 目录插入我的 css 文件? 关于这种情况我需要告诉你更多什么?

最佳答案

其背后的想法是,您可以在 app/static 下提供所有应用及其自己的静态文件。

在项目中部署应用程序后,运行python manage.pycollectstatic将复制通过STATICFILES_FINDERS设置找到的所有静态文件(其中包含一个查找程序的查找器)默认情况下每个已安装应用程序中的 static 目录)位于 STATIC_ROOT 目录中,然后将通过 STATIC_URL

提供服务

开发服务器在DEBUG模式下处理STATIC_URL模式,但这是一个有趣的阅读:Serving static files in production

关于Django 1.3 静态文件放置在应用程序目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5580902/

相关文章:

python - Django 模型表单 - 无法使用外键更新表

python - 运行的 uwsgi 线程过多

python - 将 Django QuerySet 格式化为以数组形式输出值

Django Ckeditor 从 richtextfield 中保存不完整的数据到 cookie 或服务器

python - 如何对 Django 中的所有模型对象进行向后关系查找?

python - Django - 用户在注销后通过单击浏览器后退按钮重新进入 session

python - 根据我的模板格式容纳图像

python - 为什么我的 app_name 通过导航到 URL 链接显示为复数形式? [登录]

django - 如何在 Django 中为非托管模型安装自定义 SQL

django - virtualenv 返回错误 'Operation not Permitted'