2017-06-07 124 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' %}"/>