当django中的debug为False时,无法使用admin的静态文件

时间:2014-01-15 14:17:07

标签: python django django-admin django-static

我浏览了这些问题,但未找到正确答案。这是我的问题..

我有一些静态文件。这是dir ..

/家庭/用户/ djangoproject / djangoapp /静态

/home/user/djangoproject/templates/base.html(我在那里为django管理页面修改了一些内容)

设置debug = False后,我改变了setup.py这样的

DEBUG = False
ALLOWED_HOSTS = ['*',]
STATIC_URL = '/static/'
STATIC_ROOT = "/home/user/djangoproject/djangoapp/static/"

和我的urls.py是

urlpatterns = patterns('',
                 url(r'^admin/', include(admin.site.urls)),
                 url(r'^$',login),# and some more views
    )+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

之后我将所有管理静态收集到我的应用程序的自定义静态目录路径,如此..

/ home / user / djangoproject / djangoapp / static / admin / css&所有其他人

现在我的问题是,当我使用我的自定义静态文件时,它正在工作但是例如管理员登录页面&管理站点,管理静态文件不工作。所以我在哪里做错了,或者我需要做多少工作。

提前致谢...

1 个答案:

答案 0 :(得分:1)

您需要设置Web服务器来提供静态文件。如果您使用的是Apache,请添加一些

的内容
Alias /static/ /home/user/djangoproject/djangoapp/static/
<Directory /home/user/djangoproject/djangoapp/static>
        Order deny,allow
        Allow from all
</Directory>

到httpd.conf应该可以解决问题。有关详细信息,请参阅https://docs.djangoproject.com/en/1.6/howto/static-files/deployment/

要通过Apache服务于Django项目,请添加

WSGIScriptAlias / /home/user/djangoproject/djangoproject/wsgi.py
WSGIPythonPath /home/user/djangoproject

<Directory /home/user/djangoproject/djangoproject>
  <Files wsgi.py>
    Order deny,allow
    Allow from all
  </Files>
</Directory>

Alias /static/ /home/user/djangoproject/djangoapp/static/
<Directory /home/user/djangoproject/djangoapp/static>
  Order deny,allow
  Allow from all
</Directory>

到httpd.conf。有关如何使用Apache设置Django的说明,请参阅https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/modwsgi/