go實戰(5):引入bootstrap,設定靜態資源

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

an

之前產生了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 filesHERE = 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

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.