2017-06-07 167 views
1

我有一個Django項目,但我遇到了靜態文件的問題。他們沒有加載。Django不加載靜態文件

在我setting.py我:

STATIC_ROOT = 'static' 
STATIC_URL = '/static/' 
ADMIN_MEDIA_PREFIX = STATIC_URL + "grappelli/" 

STATICFILES_DIRS = (INSTALLED_FOLDER + ('' if DEV_MACHINE else (SALES_COMPANY_CODE_LOWER + '/')) + '/Autralis/libStatic',) 

我沒有旁加載我的風格:

ln -s /data /users/my_name/Projects/autralis/Autralis/libStatic/data 
ln -s /users/my_name/Projects/autralis/Autralis/libStatic /users/my_name/Projects/autralis/Autralis/static 

而且我得到的靜態文件夾如下:

enter image description here

基本模板中樣式的鏈接如下:

<link href="/static/autralis/css/base.css" rel="stylesheet" type="text/css" />

,如果我點擊鏈接上得到page not found如下:

enter image description here

不知道如何解決這個問題?

+0

貴 '靜態' 文件夾是一個應用程序裏面?它應該根據django文檔:https://docs.djangoproject.com/en/1.11/ref/settings/#staticfiles-finders你可以檢查Django在'manage.py findstatic'(https ://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/#django-admin-findstatic) – Thom

回答

0

我會給你一個例子,從我的Django項目。也許它可以幫助你;)

我的項目樹:

enter image description here

在我settings.py文件,我有:

STATIC_URL = '/static/' 
THEME_DIRS = os.path.join(BASE_DIR, "static", "Theme/") 
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"), THEME_DIRS, ] 

PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) 
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static/') 

而我的HTML文件的獲取:

{% load staticfiles %} 
{% load static %} 

... 
<link rel="stylesheet" type="text/css" href="{% get_static_prefix %}{{ mytheme }}/css/Base_Accueil.css"/> 

with context_p rocessors.py文件:

def GetTheme(request): 
    return {'mytheme' : Theme.objects.values_list('favorite_theme').last()[0].encode("ascii")} 

或更爲簡單:

{% load staticfiles %} 
{% load static %} 

    ... 
<link rel="stylesheet" type="text/css" href="{% static 'css/Base_Identity.css' %}"/>