0

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

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

/home/user/djangoproject/djangoapp/static

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

设置 debug = False 后,我像这样更改 setting.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 & 所有其他

现在我的问题是,当我使用我的自定义静态文件时,它可以工作,但是例如管理员登录页面和管理站点,管理员静态文件无法正常工作..那么我在哪里做错了,或者我需要做些什么。

提前致谢...

4

1 回答 1

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/

于 2014-01-15T14:31:03.520 回答