我有一个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
我得到静态文件夹如下:
基本模板中样式的链接如下:
<link href="/static/autralis/css/base.css" rel="stylesheet" type="text/css" />
如果我点击链接,请按以下方式获取page not found
:
知道如何解决这个问题吗?
答案 0 :(得分:0)
我会从我的Django项目中给你一个例子。也许它可以帮助你;)
我的项目树:
在我的 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' %}"/>