2017-09-01 101 views
0

我在加載EC2實例中的靜態文件時總是收到404錯誤。我搜索了幾個小時,試圖實施各種建議,但沒有任何工作。Django靜態文件在生產中未加載

enter image description here

以下是我不同的文件的配置:

settings.py

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
LOGIN_REDIRECT_URL = '/' 

HTML

{% extends "base.html" %} 
{% load staticfiles %} 

{% block extra_head %} 
    <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.12/css/jquery.dataTables.css"> 
    <script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.12/js/jquery.dataTables.js"></script> 
    <script src="{% static "ddv_example/ddv_example_1_10.js" %}"></script> 
    <script type="text/javascript"> 

nginx.conf

location /static/admin { 
     alias /usr/local/virtualenvs/mysite/lib/python2.7/site-packages/django/contrib/admin/static/admin; 
    } 

    location /static/rest_framework { 
     alias /usr/local/virtualenvs/mysite/lib/python2.7/site-packages/rest_framework/static/rest_framework; 
    } 

    location /static { 
     alias /usr/local/apps/mysite/src/mysite/mysite/static; 
    } 


    location /static/ddv_example { 
     alias /usr/local/apps/mysite/src/mysite/mysite/static/ddv_example; 
    } 

有什麼建議我錯過了什麼?

+0

將'static/ddv_example'放在'/ static'上面的nginx配置中。 –

+0

你運行過'python manage.py collectstatic'命令嗎? –

+0

做了上述兩個步驟。它仍然不起作用。 – Prasanna

回答

0

我錯過了重新運行sudo ./server_setup.sh。只有腳本重新運行時,nginx配置纔會生效。