Django正在搜索错误的静态目录

时间:2018-07-24 09:02:45

标签: python django uwsgi django-staticfiles

当我用uwsgi在django上运行时;

  

uwsgi --http:8081 --module proj1.wsgi

当我从浏览器打开起始页面时,它给出以下错误:

  

未找到:/accounts/login/static/css/style.css

但是我的settings.py是:

STATIC_URL = 'static/'

STATIC_ROOT = '/home/proj1/static/'

STATICFILES_DIRS = (
    '/home/proj1/staticorj/static/',
)

当我使collectstatic时,它将文件复制到静态根目录而没有问题。 我不明白为什么要查找/ accounts / login。 它应该在/ home / proj1目录中查找静态目录。 因此,浏览器将打开页面,但不提供静态文件。

1 个答案:

答案 0 :(得分:0)

静态操作应如下所示。 首先像下面这样配置settings.py:

STATIC_URL = 'static/'

STATIC_ROOT = '/home/proj1/static/'

STATICFILES_DIRS = (
    '/home/proj1/staticorj/static/',
)

将所需的静态文件放入/ home / proj1 / staticorj / static / 然后运行:

  

python manage.py collectstatic

这会将/ home / proj1 / staticorj / static /文件保存到/ home / proj1 / static /目录,现在django将使用/ home / proj1 / static /目录作为静态源。

如果您不进行任何带有注释的静态设置,则如下所述。

STATIC_URL = '/static/'

#STATIC_ROOT = '/home/proj1/static/'

#STATICFILES_DIRS = (
#    '/home/proj1/staticorj/static/',
#)

然后运行您的服务器。最好使用uwsgi和nginx之类的应用程序进行服务。在生产中将提供文件。还要使用新版本的浏览器。