我正在关注如何使用静态文件(https://docs.djangoproject.com/en/1.6/howto/static-files/)的Django 1.6教程。但是,有些东西不起作用......
这就是我到目前为止......
URLS:
#mysite/urls.py:
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^myapp/', include('myapp.urls')),
)
#mysite/myapp/urls.py:
from django.conf.urls import patterns, include, url
from myapp import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
)
视图:
#mysite/myapp/views.py:
from django.shortcuts import render
def index(request):
return render(request, 'myapp/index.html')
模板:
#mysite/myapp/templates/myapp/index.html:
{% load staticfiles %}
<img src="{% static "myapp/image1.jpg" %}" alt="Image 1"/>
在mysite / settings.py文件中,我有STATIC_URL ='/ static /'。在mysite / myapp / static / myapp文件夹中,我有一个名为image1.jpg的文件。
当我运行开发服务器时,如果我只在我的index.html文件中放入一些其他HTML,它运行正常,但当我尝试显示上面的图像时,它只显示一个小白框,图像应该是。此外,如果我去localhost:8000 / myapp / static / myapp / image1.jpg,我会收到404错误。
我假设我做的事情显然是错的......但是它是什么?
有一件事 - settings.py中的STATIC_URL是相对于app目录的,而不是项目目录,对吗?
谢谢!
答案 0 :(得分:1)
当你在生产中运行时,你的静态文件由服务器(Apache,nginx)管理,但是当你的settings.py中的DEBUG设置为true时,你必须告诉django提供静态文件您。为此,请将以下内容添加到您的URLs.py:
from django.conf import settings
(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),
这将允许静态搜索并提供静态文件。
答案 1 :(得分:0)
img src =“{%static 'myapp / image1.jpg'%}”alt =“图片1”/&gt;