Django中圖片顯示不出來

參考:css

http://my.oschina.net/wenhaowu/blog/197035html

http://blog.csdn.net/thy38/article/details/23553975django

http://www.tuicool.com/articles/i6NVNrqui

http://www.cnblogs.com/wang_yb/archive/2011/04/21/2024311.htmlurl

 新的Django提供了一個方法自動地將全部的靜態文件放在一塊兒。只要在寫App的時候建立一個static子目錄專門保存靜態文件就好了。在開發階段,沒必要費心去作映射,不須要配置urls.py。


在佈署到生產環境的時候,只須要配置Apache把/static/映射到STATIC_ROOT。而後運行manage.py collectstatic,自動地STATICFILES_DIRS列出的目錄以及各個App下的static子目錄的全部


文件複製到STATIC_ROOT。由於複製過程可能會覆蓋掉原來的文件,因此,必定不能把咱們辛苦作出來靜態文件放這邊!


在開發階段,Django把/static映射到django.contrib.staticfiles這個App。staticfiles自動地從STATICFILES_DIRS、STATIC_ROOT以及各個App的static子目錄裏面搜索靜態文件。一旦佈署


到開發環境上,settings.py不須要從新編寫,只要在Apache的配置文件裏面寫好映射,/static將會被Apache處理。django.contrib.staticfiles雖然仍然存在,但由於不會接收到


以/static/開始的路徑,因此將不會產生做用。沒必要擔憂Django會使用處理速度變慢。另外,當settings.DEBUG is False的時候,staticfiles將自動關閉。


這樣不須要在urls.py中的urlpatterns中添加,只要在img處加入
#直接使用
{% load staticfiles %}
<p><img src="{% static "images/psb.jpg" %}"></p>
#變量方式使用  
{% load staticfiles %}  
<link rel="stylesheet" href="{% static user_stylesheet %}" type="text/css" media="screen"/>spa

    1. from django.shortcuts import render_to_response  
    2. def index(request):    
    3.     return render_to_response('index.html', {'user_stylesheet': 'css/user.css'}) 

同時在setting.py中加入.net

                     STATIC_URL = '/static/'
                     STATICFILES_DIRS = (
                     os.path.join(BASE_DIR, 'static').replace('\\', '/'),
                      )htm

(MEDIA的設置爲blog

MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')
MEDIA_URL = '/media/'開發

相關文章
相關標籤/搜索