Django實戰(5):引入bootstrap,設置靜態資源


之前生成了Product類的scaffold,但是如同rails的開發者David所講的那樣,scaffold幾乎沒什么用。所以按照《Agile Web Development with Rails 4th》中的迭代計划,下一步的修改是美化list頁面:

但是這個界面還是太丑陋了。其實,有了bootstrap后,很多站點都變成了“又黑又硬”的工具條+“小清新”風格。我們即不能免俗,又懶得自已設計風格,不妨用bootstrap將產品清單界面重新設計成如下的風格:

下面讓我們來實現這個界面。顯然web界面會使用一些靜態資源(css,js,image等),

要在Django中引入靜態資源)。Django在正式部署的時候對於靜態資源有特殊的處理,在開發階段,可以有簡單的方式讓靜態資源起作用。

首選在project目錄下面創建一個static目錄,並將靜態資源按合理的組織方式放入其中:

static/

      css/

           bootstrap.min.css

      js/

      images/

      productlist.html

其中productlist.html是請界面設計師實現的產品清單靜態頁面;css/bootstrap.min.css 是該頁面使用的樣式表,來自bootstrap,將來整個系統都將使用這一套樣式風格;js目錄現在為空,以后可以將javascript代碼放在這里;images文件夾同理。

 

我們可以看到,Django對於靜態內容的管理非常符合管理。相比之下,rails要求你將靜態內容放到很怪異的結構中:

app/assets/

     images/

     javascripts/

     stylesheets/

界面設計師實現的界面要想運行起來,還需要修改相關的路徑,或者改變自己的目錄設置習慣。這種設計讓人難以理解。

 

回到Django,讓靜態資源起作用只需要簡單的配置(下面的做法只適用於開發階段):

修改settings.py的static files小節:

 

import os
... ...

# Additional locations of static files
HERE = os.path.dirname(__file__)
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    HERE+STATIC_URL,
)

 

然后在urls.py中增加static的url映射:

 

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
... ...
# for development only
# This will only work if DEBUG is True.
urlpatterns += staticfiles_urlpatterns()

 

啟動server,就可以通過http://127.0.0.1:8000/static/productlist.html看到設計好的界面了。

源代碼:http://download.csdn.net/detail/thinkinside/4036963

在下一節,終於可以修改模板,美化產品清單頁的樣式了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM