Django没有加载静态文件

时间:2017-06-07 06:53:42

标签: django django-staticfiles

我有一个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

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分: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_processors.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' %}"/>