Python Django服务于静态文件,未加载

Python Django服务于静态文件,未加载,python,django,Python,Django,使用以下设置设置新的django应用程序: import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) DEBUG = True INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'djan

使用以下设置设置新的django应用程序:

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

DEBUG = True

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

STATIC_URL = '/static/'

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'kb/media')
STATIC_ROOT = os.path.join(BASE_DIR, 'kb/static/')
设置模板

{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
    <title>HomePage</title>
</head>
<body>
    <img src="{% static 'img/girl.png' %}">
    <img src="/media/boy-512.png">
</body>
</html>
{%load staticfiles%}
主页

我认为应该如何获取静态文件的设置存在问题。在这种情况下,静态图像
girl.png
的目录是
kb\kb\static\img\girl.png

如果我可以帮助您,这是我的settings.py文件和html模板中的一个示例:

我有一个项目:MyProject和一个应用程序:myu项目(里面有静态文档>图像文档>test.png文件)

我的设置.py文件如下所示:

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "my_project/static"),)
<img src="{% static 'images/test.png' %}" />
我的带有图像的HTML模板文件如下所示:

STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, "my_project/static"),)
<img src="{% static 'images/test.png' %}" />


希望能够帮助您

在settings.py中添加项目名称

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'yourprojectname',]

这些静态文件是应用程序的一部分吗?如果不在项目的哪个文件夹中?这是在生产还是在开发中?@Valentin如果静态文件是应用程序的一部分,你不应该使用
STATICFILES\u DIRS
。如果它们位于
/appname/static/appname/
中,将自动拾取它们
STATICFILES\u DIRS
仅适用于未自动拾取的目录中的静态文件。@voodoo burger是的,这是第一次,我的静态文档不在Django应用程序中^^^我刚更改了路径,但我应该更改;)@瓦伦丁:好吧,我否决了你的答案,因为这实际上不是OP问题的正确答案。但他似乎很乐意复制和粘贴,而实际上并不费心去理解为什么这样做对他没有伤害,我想。@voodoo burger好吧^^正如我所说,这就是我所做的,我从Django开始。所以,如果我的答案对他很好,或者如果他用我的部分答案解决了他的问题,那就好了;)