静态文件不是从单独的django staticfile应用程序提供的

时间:2014-01-16 18:37:21

标签: django django-staticfiles webfaction

我正在使用webfaction制作一个简单的静态网站。我想我已经完成了所有事情,但仍然没有提供我的静态文件(即css,图像)。我使用本指南进行了设置:

http://docs.webfaction.com/software/django/getting-started.html

我做了他们告诉我的所有事情,简而言之:

1)制作了一个单独的静态媒体应用程序

2)更新了settings.py

3)跑了

python manage.py collectstatic 

以上所有内容都按照计划进行,我现在可以在静态文件应用程序中看到我的静态文件,我将其命名为 personalsitestatic 。我的django应用程序称为 personalsite

目录结构如下所示:

  • web应用
    • 的htdocs
    • personalsite
      • apache2的
      • lib
      • PersonalWebsite
        • manage.py
        • PersonalWebsite
          • settings.py,urls.py,ect
          • settings.py,urls.py,静态文件目录,等等
    • personalstiestatic
      • bootstrap
      • custom

这就是我的settings.py中的相关值:

STATIC_ROOT = '/home/<myname>/webapps/personalsitestatic/'
STATIC_URL = 'http://<sitename>.com/static/'
TEMPLATE_DIRS = (
"/home/<myname>/webapps/personalsite/PersonalWebsite/templates/",)

我没有main / static之外的任何其他静态目录,所以我没有使用STATIC_DIRS。模板似乎正在加载,没有任何静态文件。当我用firefox的调试器/检查元素检查时,它只是说“样式表无法加载”。谁能帮到我这里或至少给我一些调试建议?

2 个答案:

答案 0 :(得分:0)

我很傻,并没有将它挂载到/ static url,希望这有助于某人!

答案 1 :(得分:0)

我将这两行添加到我的httpd.conf中,经过一些研究,这似乎是用Apache提供静态内容的最安全,性能最佳的方法。

Alias /media/ /home/USERNAME/webapps/APPNAME/media/
Alias /static/ /home/USERNAME/webapps/APPNAME/staticfiles/

注意我将静态和媒体文件夹保留在&#34; myproject&#34;文件夹(包含py文件的文件夹),因为我在git repo self中部署了应用程序,因此我不希望这些文件妨碍。