簡體   English   中英

Django 1.6:靜態文件

[英]Django 1.6: static files

我正在遵循有關如何使用靜態文件的Django 1.6教程( https://docs.djangoproject.com/en/1.6/howto/static-files/ )。 但是,有些東西不起作用...

這是我到目前為止所擁有的...

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相對於應用程序目錄,而不是項目目錄,對嗎?

謝謝!

在生產環境中運行時,靜態文件由服務器(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}),

這樣將可以搜索static並提供您的靜態文件。

img src =“ {% static'myapp / image1.jpg' %}” alt =“圖片1” />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM