我正在尝试将图片附加到我的页面(按https://docs.djangoproject.com/en/1.10/howto/static-files/#configuring-static-files),但无法显示:http://prntscr.com/evwern
settings.py
STATIC_URL = '/portfolio/'
urls.py
urlpatterns = [
url(r'^$', index, name='index'),]
的index.html
{% load static %}
<img src="{% static '/catalog/static/portfolio/oh_i_ah.jpg' %}" alt="My image" style="width:640px;height:473px;"/>
图片路径:mysite / portfolio / catalog / static / portfolio / oh_i_ah.jpg
如果我尝试在新标签页中打开图像,则会抛出:
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/portfolio/catalog/static/portfolio/oh_i_ah.jpg
答案 0 :(得分:0)
import os
STATIC_URL = '/portfolio/'
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), )
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
和
python manage.py collectstatic
index.html中的
{% load staticfiles %}
<img src="{% static '/portfolio/oh_i_ah.jpg' %}" alt="My image" style="width:640px;height:473px;"/>
答案 1 :(得分:0)
1)您没有指定您的应用目录名称。需要知道应用程序/目录名称才能正确回答您的问题。 2)你没有正确使用'静态'。 3)您没有指定是使用默认的django开发服务器还是某些生产服务器。我假设它是DEBUG = True的默认django开发服务器。
<强>解决方案强>
让我们想象一下:你有一个名为app0的应用程序(假设您使用“python manage.py startapp app0”创建了该应用程序)并且您在其中创建了一个名为“static”的目录(以下默认的django约定优于配置)。在这个'静态'目录中你创建了另一个名为'app0'的目录。所以,你要把你的文件放在“/ app0 / static / app0”里面。所以,你的文件路径变成:“/app0/static/app0/oh_i_ah.jpg”
现在,在settings.py
中正确设置STATIC_ROOT在模板文件中,将文件称为{%static“app0 / oh_i_ah.jpg”%}(不带前导斜杠)。
现在,一切都会好的。
是的,如果在settings.py中正确配置STATICFILES_DIRS,STATIC_ROOT,则可以将静态文件放在任何app目录之外。
请尽可能详细地描述您的问题,以便我们以正确的方式为您提供帮助。