国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LNMP系列網站零基礎開發記錄(三)

2019-11-14 17:44:16
字體:
來源:轉載
供稿:網友
[目錄]
  1. 扯淡吹逼之開發前奏
  2. Django 開發環境搭建及配置
  3. web 頁面開發
  4. Django app開發
  5. Django 站點管理
  6. Python 簡易爬蟲開發
  7. Nginx&uWSGI 服務器配置
  8. ...

 三、web頁面開發

  好吧,本來想單獨寫一章bootstrap的,但是前端確實沒什么好寫的,這里我們直接結合實際直接開搞吧。做WEB我習慣先把想要的頁面模板做完,然后再根據razar或者這里要用到的django template修改。美工確實不太好,P得一手爛圖,所以一般都用現成的開源框架,這里我們選用了現在很流行的bootstrap,由于懶得改CSS,所以全部用原生的代碼,基本不加修改。

這里在強調一下我們的目標,做一個簡單的開發錯誤查詢網站,同時需要提供相應錯誤的解決方案

  帶著這樣的目標,我們大概需要如下幾個web頁面:

  1. 主頁(查詢頁面)
  2. 查詢結果頁面
  3. 錯誤詳細頁面
  4. 維護頁面

  對的,灰常的簡單,頁面很少,先給出幾個頁面的圖吧(維護頁面后面站點管理部分會介紹)

 主頁 查詢結果 詳細結果

  這里頁面共有的 Header和Footer我們可以放到一個base.html頁面,內容頁通過模板繼承實現,具體代碼如下:  

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>模板- {% block title %}{% endblock %}</title>
  
<script src="/media/javascript/jquery-1.11.1.js"></script>
  <script src="/media/bootstrap/js/bootstrap.js"></script>
  <link href="/media/bootstrap/css/bootstrap.css" rel="stylesheet"/>
</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">        <div class="row">            <div class="col-md-3"></div>            <div class="col-md-6">                <div class="navbar-header">                    <button type="button" class="navbar-toggle" data-toggle="collapse"                            data-target="#bs-example-navbar-collapse-1">                        <span class="sr-only">Toggle navigation</span>                        <span class="icon-bar"></span>                        <span class="icon-bar"></span>                        <span class="icon-bar"></span>                    </button>                    <a class="navbar-brand" href="#">                        <img src="/media/image/icon.png">                    </a>                </div>                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">                    <ul class="nav navbar-nav nav-d">                    <li>                        <a href="/">首頁</a>                    </li>                    <li>                        <a href="#">推薦</a>                    </li>                </ul>                     <form class="navbar-form pull-right form-inline" action="/search/" >                        <div class="form-group"><input type="text" class="form-control" name="q" value="{{ q | default:'' }}" ></div>                        <div class="form-group"><button type="submit" class="btn btn-default" >Go</button></div>                    </form>                 </div>            </div>        </div>    </div></nav><div class="spliter"></div><div class="container">    <div class="row">        <div class="col-md-3">            <div>&nbsp;</div>            {% block widget-nav %}            {% endblock %}        </div>        <div class="col-md-6">            <div>&nbsp;</div>            {% block content %}            {% endblock %}        </div>    </div></div><footer class="footer">      <p>XXXXXXXXXXXXXXXX | Powered By | <a href="http://www.miibeian.gov.cn/" target="_blank">京ICP備XXXXXX號</a> | 京公網安備XXXXXXXX</p></footer></body></html>

  前面我們已經定義了/media/作為靜態文件的根目錄Django 開發環境搭建及配置因此我們把bootstrap整個目錄放在/media/下面,并引入jquery.js, bootstrap.js以及bootstrap.css,注意jquery和bootstrap的順序,同時注意引入相對路徑。

  首先說下bootstrap的部分,在大屏幕下顯示效果如上述三幅圖的所示,而切換到小屏幕時就會自動切換成下圖,這是響應式設計的帶來的優勢,可以使我們的站點自適應于各種類型的設備,具體原理和實現方式請自行閱讀bootstrap源碼吧。

小屏幕瀏覽

   再說下django template部分,django tempalte以{% %}表示指令,{{ }}表示變量,指令需要有相應的{%end-op%}塊,這個比起razar有些不方便。base.html中,我們定義了三個block,分別是

{% block title %}{% endblock %}
{% block widget-nav %}{% endblock %}
{% block content %}{% endblock% }

  簡單說來,和razar中的section一樣,在繼承的子模板中,如果定義了相同名稱的block,那么母版中的相應block之間的內容換完全被替換,上面三個從名字和對應的區域應該很容易看出是干什么的了吧。

  block中詳細的實現部分因為涉及到了傳入的參數,因此我們在app的實現中來詳細討論。

PS.

  1. 表達能力較差,以后慢慢更新,同時[目錄]會隨著跟新進度隨時調整,歡迎大家拍磚!
  2. 網站鏈接會在數據積累一段時間后提供

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浦县| 孝昌县| 高淳县| 阿坝县| 呼和浩特市| 沈丘县| 镇宁| 乌拉特后旗| 阜新市| 疏附县| 名山县| 咸丰县| 哈密市| 革吉县| 浦县| 阿瓦提县| 翁源县| 伊宁县| 广灵县| 雷山县| 招远市| 黄龙县| 正蓝旗| 惠来县| 富平县| 柞水县| 莫力| 河北区| 敖汉旗| 乌兰察布市| 西贡区| 阿克陶县| 同仁县| 英德市| 方城县| 淮南市| 苗栗市| 蒙自县| 沂南县| 都兰县| 太谷县|