国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Flask Web Development —— 模板(中)

eternalshallow / 1578人閱讀

摘要:示例使用的模板的指令通過從引用來實現(xiàn)模板的繼承。上面的模板定義了三個,分別命名為和。同時返回相應(yīng)錯誤的數(shù)字狀態(tài)碼。示例帶有導(dǎo)航欄的基礎(chǔ)應(yīng)用程序模板這個模板中的塊中只是一個名為的元素,它包含了在派生模板中定義的名為的空。

2、集成Twitter Bootstrap的Flask-Bootstrap

Bootstrap是Twitter的一個開源框架,提供用戶交互組件來創(chuàng)建一個清新且有吸引力的web頁面,并兼容所有現(xiàn)代web瀏覽器。

Bootstrap是一個客戶端框架,服務(wù)端不直接參與。服務(wù)端需要做的就是提供HTML響應(yīng),引用層疊樣式表(CSS)和JavaScript文件并通過HTML、CSS、和JavaScript代碼來實例化需要的組件。模板是做這些的理想地方。

集成Bootstrap到應(yīng)用程序最好的方式是在模板中做一些必要的改變。一個簡單點的途徑就是使用Flask-Bootstrap擴(kuò)展去簡化集成工作。可以通過pip來安裝Flask-Bootstrap:

(venv) $ pip install flask-bootstrap

Flask擴(kuò)展通常在應(yīng)用程序?qū)嵗粍?chuàng)建的時候初始化。示例3-4展示Flask-Bootstrap的初始化。

示例3-4. hello.py:Flask-Bootstrap初始化

from flask.ext.bootstrap import Bootstrap
# ...
bootstrap = Bootstrap(app)

和第二章的Flask-Script一樣,F(xiàn)lask-Bootstrap從flask.ext命名空間導(dǎo)入并通過傳遞應(yīng)用程序?qū)嵗綐?gòu)造函數(shù)來初始化。

一旦Flask-Bootstrap被初始化,一個包含所有Bootstrap文件的基礎(chǔ)模板就可供應(yīng)用程序使用了。這個模板利用Jinja2的模板繼承,應(yīng)用程序則可以擴(kuò)展一個擁有通用頁面結(jié)構(gòu),且包含Bootstrap導(dǎo)入的元素的基礎(chǔ)模板。示例3-5展示作為派生模板的新版user.html

_示例3-5. templates/user.html: 使用Flask-Bootstrap的模板

{% extends "bootstrap/base.html" %}
{% block title %}Flasky{% endblock %}
{% block navbar %}





{% endblock %}

{% block content %}


{% endblock %}

Jinja2的extends指令通過從Flask-Bootstrap引用bootstrap/base.html來實現(xiàn)模板的繼承。Flask-Bootstrap的基礎(chǔ)模板提供一個包含Bootstrap CSS和JavaScript文件的web頁面骨架。

基礎(chǔ)模板定義了一些可以被派生模板重寫的blockblockendblock指令定義了被添加到基礎(chǔ)模板中block的內(nèi)容。

上面的user.html模板定義了三個block,分別命名為titlenavbarcontent。基礎(chǔ)模板里的這些block輸出派生模板定義的內(nèi)容。title塊比較簡單;它的內(nèi)容將出現(xiàn)在</b>標(biāo)簽內(nèi),然后被渲染在HTML文檔的頭部 。<b>navbar</b>和<b>content</b>塊則是為頁面保留的導(dǎo)航欄和主內(nèi)容。</p> <p>在這個模板中,<b>navbar</b>塊使用Bootstrap組件定義了一個簡單的導(dǎo)航欄。<b>content</b>塊有個名為<b>container</b>的<b><div></b>,里面嵌套了名為<b>page-header</b>的<b><div></b>。圖3-1展示這些操作后應(yīng)用程序長成啥樣了。</p> <pre> <p>建議:如果你有克隆在GitHub上的應(yīng)用程序,你現(xiàn)在可以運行<b>git checkout 3b</b>來切換到這個版本的應(yīng)用程序。Bootstrap官方文檔 是一個非常強大的學(xué)習(xí)資料,完全可以復(fù)制粘貼使用那些示例。</p> </pre> <p><script type="text/javascript">showImg("http://young-py.github.io/imgs/flask3-02.png");</script></p> <p><em>圖片3-1. Twitter Bootstrap模板</em></p> <p>Flask-Bootstrap的<b>base.html</b>模板定義了一些其他可供派生模板使用的<b>block</b>。表格3-2展示了完整的可用<b>block</b>列表。</p> <p><em>表格3-2. Flask-Bootstrap基礎(chǔ)模板中的block</em></p> <p><script type="text/javascript">showImg("http://young-py.github.io/imgs/flask3-03.png");</script></p> <p>表格3-2中的許多塊用于Flask-Bootstrap自身,所以直接重寫它們會引發(fā)問題。例如,<b>styles</b>和<b>scripts</b>塊是Bootstrap定義文件的地方。如果應(yīng)用程序需要新增自己的內(nèi)容到已經(jīng)有一些內(nèi)容的塊中,則必須使用Jinja2的<b>super()</b>。例如,如何在派生模板中寫<b>scripts</b>塊,來給文檔增加新的JavaScript文件:</p> <pre>{% block scripts %} {{ super() }} <script type="text/javascript" src="my-script.js"></script> {% endblock %} </pre> <b>3、自定義錯誤頁面</b> <p>當(dāng)你輸入錯誤路徑在你的瀏覽器地址欄,你會得到404錯誤代碼頁面。目前的錯誤頁面很普通也沒有吸引力,且沒有一致的使用Bootstrap頁面。</p> <p>Flask允許應(yīng)用程序自定義基于模板的錯誤頁面,就像常規(guī)的路由。兩個最常見的錯誤代碼,404是在客戶端請求的頁面或路徑不存在的時候觸發(fā);500是當(dāng)存在未處理的異常時觸發(fā)。示例3-6展示如何為這兩個錯誤提供自定義處理。</p> <p><em>示例3-6. hello.py:自定義錯誤頁面</em></p> <pre>@app.errorhandler(404) def page_not_found(e): return render_template("404.html"), 404 @app.errorhandler(500) def internal_server_error(e): return render_template("500.html"), 500 </pre> <p>錯誤處理返回響應(yīng),和視圖函數(shù)一樣。同時返回相應(yīng)錯誤的數(shù)字狀態(tài)碼。</p> <p>在錯誤處理中引用的模板需要自己去寫。這些模板需要和常規(guī)的頁面一樣的布局,所以在這個示例中需要導(dǎo)航欄和頁面頭部顯示錯誤信息。</p> <p>編寫這些模板的簡單方式是復(fù)制<b>templates/user.html</b>到<b>templates/404.html</b>和<b>templates/500.html</b>,然后改變這兩個新文件的頁面頭部元素來給出相應(yīng)的錯誤信息,但這會產(chǎn)生很多副本。</p> <p>Jinja2的模板繼承可以幫助我們解決這個問題。Flask-Bootstrap提供了一個帶有基本布局頁面的基礎(chǔ)模板,應(yīng)用程序可以定義自己的、帶有完整頁面布局的基礎(chǔ)模板,包括導(dǎo)航欄和定義在派生模板中的頁面內(nèi)容。示例3-7展示了<b>templates/base.html</b>,它是一個繼承自<b>bootstrap/base.html</b>的新模板且定義了導(dǎo)航欄,但對于其他模板則是一個基礎(chǔ)模板,例如<b>templates/user.html</b>、<b>templates/404.html</b>和<b>templates/500.html</b>。</p> <p>_示例3-7. templates/base.html:帶有導(dǎo)航欄的基礎(chǔ)應(yīng)用程序模板</p> <pre>{% extends "bootstrap/base.html" %} {% block title %}Flasky{% endblock %} {% block navbar %} <div id="zdjnthx" class="navbar navbar-inverse" role="navigation"> <div id="v5v55p7" class="container"> <div id="xhbtbrf" class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span id="p7tp7hh" class="sr-only">Toggle navigation</span> <span id="9zp7jvh" class="icon-bar"></span> <span id="ltz7xlb" class="icon-bar"></span> <span id="t7z7vhx" class="icon-bar"></span> </button> <a class="navbar-brand" href="/">Flasky</a> </div> <div id="t75jdhv" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> </ul> </div> </div> </div> {% endblock %} {% block content %} <div id="trlfbrv" class="container"> {% block page_content %}{% endblock %} </div> {% endblock %} </pre> <p>這個模板中的<b>content</b>塊中只是一個名為<b>container</b>的<b><div></b>元素,它包含了在派生模板中定義的名為<b>page_content</b>的空block。</p> <p>應(yīng)用程序的模板將從該模板繼承而不是直接從Flask-Bootstrap繼承。示例3-8展示了從<b>templates/base.html</b>繼承來構(gòu)造一個自定義404錯誤頁面是如此的簡單。</p> <p><em>示例3-8. <b>templates/404.html</b>:使用模板繼承自定義404錯誤頁面</em></p> <pre>{% extends "base.html" %} {% block title %}Flasky - Page Not Found{% endblock %} {% block page_content %} <div id="frzr55h" class="page-header"> <h1>Not Found</h1> </div> {% endblock %} </pre> <p>圖片3-2展示在瀏覽器中錯誤頁面是怎樣的。</p> <p><script type="text/javascript">showImg("http://young-py.github.io/imgs/flask3-04.png");</script></p> <p><em>圖片3-2. 自定義404錯誤頁面</em></p> <p>現(xiàn)在<b>templates/user.html</b>模板可以通過繼承基礎(chǔ)模板來簡化它,就像示例3-9展示的這樣。</p> <p><em>示例3-9. templates/user.html:使用模板繼承簡化頁面模板</em></p> <pre>{% extends "base.html" %} {% block title %}Flasky{% endblock %} {% block page_content %} <div id="frtx7zn" class="page-header"> <h1>Hello, {{ name }}!</h1> </div> {% endblock %} </pre> <pre> <p>建議:如果你有克隆在GitHub上的應(yīng)用程序,你現(xiàn)在可以運行<b>git checkout 3c</b>來切換到這個版本的應(yīng)用程序。</p> </pre> </div> <div id="7rzfzx5" class="mt-64 tags-seach" > <div id="95bflln" class="tags-info"> <a style="width:120px;" title="云服務(wù)器" href="http://m.specialneedsforspecialkids.com/site/active/kuaijiesale.html?ytag=seo">云服務(wù)器</a> <a style="width:120px;" title="GPU云服務(wù)器" href="http://m.specialneedsforspecialkids.com/site/product/gpu.html">GPU云服務(wù)器</a> <a style="width:120px;" title="web-development" href="http://m.specialneedsforspecialkids.com/yun/tag/web-development/">web-development</a> <a style="width:120px;" title="Flask_Web" href="http://m.specialneedsforspecialkids.com/yun/tag/Flask_Web/">Flask_Web</a> <a style="width:120px;" title="web模板" href="http://m.specialneedsforspecialkids.com/yun/tag/webmoban/">web模板</a> <a style="width:120px;" title="Development" href="http://m.specialneedsforspecialkids.com/yun/tag/Development/">Development</a> </div> </div> <div id="l7zt57b" class="entry-copyright mb-30"> <p class="mb-15"> 文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。</p> <p>轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/37433.html</p> </div> <ul class="pre-next-page"> <li id="f77lpbb" class="ellipsis"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/37432.html">上一篇:[零基礎(chǔ)學(xué)python]通過Python連接數(shù)據(jù)庫</a></li> <li id="lp55d5b" class="ellipsis"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/37434.html">下一篇:flask 跨域訪問裝飾器實現(xiàn)</a></li> </ul> </div> <div id="l7tz7p5" class="about_topicone-mid"> <h3 class="top-com-title mb-0"><span data-id="0">相關(guān)文章</span></h3> <ul class="com_white-left-mid atricle-list-box"> <li> <div id="txdfj57" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/37454.html"><b><em>Flask</em> <em>Web</em> <em>Development</em> —— <em>Web</em>表單(上)</b></a></h2> <p class="ellipsis2 good">摘要:每個表單域都可以連接到一個或多個是一個用于檢查用戶提交的輸入是否合法的函數(shù)。表單域構(gòu)造函數(shù)的第一個參數(shù)是一個,在渲染表單到時會使用。驗證確保提交的表單域不為空。表單域驗證都是直接從包中導(dǎo)入。表格展示了一組支持的標(biāo)準(zhǔn)表單域。 第二章中介紹的request對象公開了所有客戶端發(fā)送的請求信息。特別是request.form可以訪問POST請求提交的表單數(shù)據(jù)。 盡管Flask的request...</p> <div id="ln7tz57" class="com_white-left-info"> <div id="ddx5rrt" class="com_white-left-infol"> <a href="http://m.specialneedsforspecialkids.com/yun/u-336.html"><img src="http://m.specialneedsforspecialkids.com/yun/data/avatar/000/00/03/small_000000336.jpg" alt=""><span id="ddjzdhj" class="layui-hide64">CODING</span></a> <time datetime="">2019-07-24 17:49</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="lxdvnp7" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/37461.html"><b><em>Flask</em> <em>Web</em> <em>Development</em> —— <em>模板</em>(下)</b></a></h2> <p class="ellipsis2 good">摘要:如果路由重組,模板中的鏈接將被打斷而變得無法訪問。靜態(tài)文件應(yīng)用程序不僅僅是由代碼和模板組成。當(dāng)服務(wù)器收到來自之前示例的,它會產(chǎn)生一個響應(yīng)包含的文件內(nèi)容。一個優(yōu)雅的解決方案是允許服務(wù)器只發(fā)送時間給瀏覽器,由瀏覽器轉(zhuǎn)為當(dāng)?shù)貢r間并渲染。 4、鏈接 任何應(yīng)用程序都有多個路由,必然需要包含鏈接來連接不同的頁面,例如導(dǎo)航欄。 在模板中,對于簡單的路由直接寫URLs做鏈接是非常瑣碎麻煩的,而給帶...</p> <div id="7xnnhth" class="com_white-left-info"> <div id="thxb5v7" class="com_white-left-infol"> <a href="http://m.specialneedsforspecialkids.com/yun/u-697.html"><img src="http://m.specialneedsforspecialkids.com/yun/data/avatar/000/00/06/small_000000697.jpg" alt=""><span id="xvbtvl7" class="layui-hide64">raoyi</span></a> <time datetime="">2019-07-24 17:49</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="dpfznd7" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/37435.html"><b><em>Flask</em> <em>Web</em> <em>Development</em> —— <em>模板</em>(上)</b></a></h2> <p class="ellipsis2 good">摘要:用真實的值替換變量并返回最終響應(yīng)字符串,這個過程稱為渲染。示例展示模板實現(xiàn)該響應(yīng)。控制結(jié)構(gòu)提供一些控制結(jié)構(gòu)用于改變模板流。這個示例展示如何使用循環(huán)做到這些同樣支持宏,這和代碼中的函數(shù)很像。 寫代碼最關(guān)鍵的是要易于維護(hù)且結(jié)構(gòu)清晰整潔。目前為止,你看到的例子都過于簡單從而沒有做這方面的要求。Flask視圖函數(shù)希望將兩個應(yīng)該完全獨立的任務(wù)一并處理,兩個任務(wù)有兩種代碼,一并處理勢必會引發(fā)問題。...</p> <div id="p75fjx5" class="com_white-left-info"> <div id="rphnht5" class="com_white-left-infol"> <a href="http://m.specialneedsforspecialkids.com/yun/u-654.html"><img src="http://m.specialneedsforspecialkids.com/yun/data/avatar/000/00/06/small_000000654.jpg" alt=""><span id="vxpjzpb" class="layui-hide64">fizz</span></a> <time datetime="">2019-07-24 17:47</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="v7brjln" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/45324.html"><b><em>Flask</em> <em>Web</em> <em>Development</em> —— Email</b></a></h2> <p class="ellipsis2 good">摘要:函數(shù)攜帶目的地址主題郵件體模板和一組關(guān)鍵字參數(shù)。許多擴(kuò)展操作是在假設(shè)有活動的應(yīng)用程序和請求上下文的情況下進(jìn)行的。但是當(dāng)函數(shù)在一個不同的線程上執(zhí)行,應(yīng)用程序上下文需要人為地創(chuàng)建使用。例如,執(zhí)行函數(shù)可以將郵件發(fā)送到的任務(wù)隊列中。 許多類型的應(yīng)用程序都會在某些事件發(fā)生的時候通知用戶,常用的溝通方法就是電子郵件。盡管在Flask應(yīng)用程序中,可以使用Python標(biāo)準(zhǔn)庫中的smtplib包來發(fā)送電...</p> <div id="xbhbrrd" class="com_white-left-info"> <div id="v77xdtt" class="com_white-left-infol"> <a href="http://m.specialneedsforspecialkids.com/yun/u-999.html"><img src="http://m.specialneedsforspecialkids.com/yun/data/avatar/000/00/09/small_000000999.jpg" alt=""><span id="xtntzzn" class="layui-hide64">SKYZACK</span></a> <time datetime="">2019-07-31 11:35</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="9bh5bpn" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.specialneedsforspecialkids.com/yun/37475.html"><b><em>Flask</em> <em>Web</em> <em>Development</em> —— <em>Web</em>表單(下)</b></a></h2> <p class="ellipsis2 good">摘要:局部變量用于保存從表單中接收到的名字,初始化時變量為。在語句中,這個名字被賦值給局部變量且表單域的數(shù)據(jù)屬性通過賦值為空字符串而被清除。示例重定向和用戶會話在上一個版本中,局部變量用于保存用戶在表單中輸入的姓名。 4、視圖函數(shù)中的表單操作 在新版本的hello.py中,index()視圖函數(shù)渲染表單并接收其數(shù)據(jù)。示例4-4展示更新后的index()視圖函數(shù)。 示例4-4. hello...</p> <div id="tvp57zp" class="com_white-left-info"> <div id="vvbfjjn" class="com_white-left-infol"> <a href="http://m.specialneedsforspecialkids.com/yun/u-1624.html"><img src="http://m.specialneedsforspecialkids.com/yun/data/avatar/000/00/16/small_000001624.jpg" alt=""><span id="hhzfll5" class="layui-hide64">yeooo</span></a> <time datetime="">2019-07-24 17:51</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> </ul> </div> <div id="jvd5zzn" class="topicone-box-wangeditor"> <h3 class="top-com-title mb-64"><span>發(fā)表評論</span></h3> <div id="tvbpp5n" class="xcp-publish-main flex_box_zd"> <div id="lz5ndtf" class="unlogin-pinglun-box"> <a href="javascript:login()" class="grad">登陸后可評論</a> </div> </div> </div> <div id="rpjphhh" class="site-box-content"> <div id="bb77drf" class="site-content-title"> <h3 class="top-com-title mb-64"><span>0條評論</span></h3> </div> <div id="pptl7db" class="pages"></ul></div> </div> </div> <div id="thxbx77" class="layui-col-md4 layui-col-lg3 com_white-right site-wrap-right"> <div id="dtnhptr" class=""> <div id="nzhzpdt" class="com_layuiright-box user-msgbox"> <a href="http://m.specialneedsforspecialkids.com/yun/u-1113.html"><img src="http://m.specialneedsforspecialkids.com/yun/data/avatar/000/00/11/small_000001113.jpg" alt=""></a> <h3><a href="http://m.specialneedsforspecialkids.com/yun/u-1113.html" rel="nofollow">eternalshallow</a></h3> <h6>男<span>|</span>高級講師</h6> <div id="rnhlpr5" class="flex_box_zd user-msgbox-atten"> <a href="javascript:attentto_user(1113)" id="attenttouser_1113" class="grad follow-btn notfollow attention">我要關(guān)注</a> <a href="javascript:login()" title="發(fā)私信" >我要私信</a> </div> <div id="7hlp75h" class="user-msgbox-list flex_box_zd"> <h3 class="hpf">TA的文章</h3> <a href="http://m.specialneedsforspecialkids.com/yun/ut-1113.html" class="box_hxjz">閱讀更多</a> </div> <ul class="user-msgbox-ul"> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/121442.html">如何提交百度新聞源?百度新聞源申請方法步驟</a></h3> <p>閱讀 1449<span>·</span>2021-09-28 09:44</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/121405.html">程序員年紀(jì)大了以后都去了哪里</a></h3> <p>閱讀 2515<span>·</span>2021-09-28 09:36</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/119503.html">NXP RT1064學(xué)習(xí)筆記(一)— 開發(fā)環(huán)境</a></h3> <p>閱讀 1170<span>·</span>2021-09-08 09:35</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/112744.html">css總結(jié)</a></h3> <p>閱讀 1990<span>·</span>2019-08-29 13:50</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/112641.html">如何使用Flexbox和CSS Grid,實現(xiàn)高效布局</a></h3> <p>閱讀 818<span>·</span>2019-08-29 13:29</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/112475.html">史上前端面試最全問答(附答案)</a></h3> <p>閱讀 1139<span>·</span>2019-08-29 13:15</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/112301.html">前端面試題2017(篇幅長,附答案)</a></h3> <p>閱讀 1731<span>·</span>2019-08-29 13:00</p></li> <li><h3 class="ellipsis"><a href="http://m.specialneedsforspecialkids.com/yun/110072.html">巧用命令行工具UCloud CLI,輕量操作API管理云資源</a></h3> <p>閱讀 2997<span>·</span>2019-08-26 16:16</p></li> </ul> </div> <!-- 文章詳情右側(cè)廣告--> <div id="bnhlfvx" class="com_layuiright-box"> <h6 class="top-com-title"><span>最新活動</span></h6> <div id="x7x7pf5" class="com_adbox"> <div id="7vlbvv7" class="layui-carousel" id="right-item"> <div carousel-item> <div> <a href="http://m.specialneedsforspecialkids.com/site/active/kuaijiesale.html?ytag=seo" rel="nofollow"> <img src="http://m.specialneedsforspecialkids.com/yun/data/attach/240625/2rTjEHmi.png" alt="云服務(wù)器"> </a> </div> <div> <a href="http://m.specialneedsforspecialkids.com/site/product/gpu.html" rel="nofollow"> <img src="http://m.specialneedsforspecialkids.com/yun/data/attach/240807/7NjZjdrd.png" alt="GPU云服務(wù)器"> </a> </div> </div> </div> </div> <!-- banner結(jié)束 --> <div id="5txbddd" class="adhtml"> </div> <script> $(function(){ $.ajax({ type: "GET", url:"http://m.specialneedsforspecialkids.com/yun/ad/getad/1.html", cache: false, success: function(text){ $(".adhtml").html(text); } }); }) </script> </div> </div> </div> </div> </div> </section> <!-- wap拉出按鈕 --> <div id="dz7brrr" class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> </div> <!-- wap遮罩層 --> <div id="bpvnhx5" class="site-mobile-shade"></div> <!--付費閱讀 --> <div class="xxptzdf" id="payread"> <div id="pzdhnbl" class="layui-form-item">閱讀需要支付1元查看</div> <div id="fdxdr7d" class="layui-form-item"><button class="btn-right">支付并查看</button></div> </div> <script> var prei=0; $(".site-seo-depict pre").each(function(){ var html=$(this).html().replace("<code>","").replace("</code>","").replace('<code class="javascript hljs" codemark="1">',''); $(this).attr('data-clipboard-text',html).attr("id","pre"+prei); $(this).html("").append("<code>"+html+"</code>"); prei++; }) $(".site-seo-depict img").each(function(){ if($(this).attr("src").indexOf('data:image/svg+xml')!= -1){ $(this).remove(); } }) $("LINK[href*='style-49037e4d27.css']").remove(); $("LINK[href*='markdown_views-d7a94ec6ab.css']").remove(); layui.use(['jquery', 'layer','code'], function(){ $("pre").attr("class","layui-code"); $("pre").attr("lay-title",""); $("pre").attr("lay-skin",""); layui.code(); $(".layui-code-h3 a").attr("class","copycode").html("復(fù)制代碼 ").attr("onclick","copycode(this)"); }); function copycode(target){ var id=$(target).parent().parent().attr("id"); var clipboard = new ClipboardJS("#"+id); clipboard.on('success', function(e) { e.clearSelection(); alert("復(fù)制成功") }); clipboard.on('error', function(e) { alert("復(fù)制失敗") }); } //$(".site-seo-depict").html($(".site-seo-depict").html().slice(0, -5)); </script> <link rel="stylesheet" type="text/css" href="http://m.specialneedsforspecialkids.com/yun/static/js/neweditor/code/styles/tomorrow-night-eighties.css"> <script src="http://m.specialneedsforspecialkids.com/yun/static/js/neweditor/code/highlight.pack.js" type="text/javascript"></script> <script src="http://m.specialneedsforspecialkids.com/yun/static/js/clipboard.js"></script> <script>hljs.initHighlightingOnLoad();</script> <script> function setcode(){ var _html=''; document.querySelectorAll('pre code').forEach((block) => { var _tmptext=$.trim($(block).text()); if(_tmptext!=''){ _html=_html+_tmptext; console.log(_html); } }); } </script> <script> function payread(){ layer.open({ type: 1, title:"付費閱讀", shadeClose: true, content: $('#payread') }); } // 舉報 function jupao_tip(){ layer.open({ type: 1, title:false, shadeClose: true, content: $('#jubao') }); } $(".getcommentlist").click(function(){ var _id=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); $("#articlecommentlist"+_id).toggleClass("hide"); var flag=$("#articlecommentlist"+_id).attr("dataflag"); if(flag==1){ flag=0; }else{ flag=1; //加載評論 loadarticlecommentlist(_id,_tid); } $("#articlecommentlist"+_id).attr("dataflag",flag); }) $(".add-comment-btn").click(function(){ var _id=$(this).attr("dataid"); $(".formcomment"+_id).toggleClass("hide"); }) $(".btn-sendartcomment").click(function(){ var _aid=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); var _content=$.trim($(".commenttext"+_aid).val()); if(_content==''){ alert("評論內(nèi)容不能為空"); return false; } var touid=$("#btnsendcomment"+_aid).attr("touid"); if(touid==null){ touid=0; } addarticlecomment(_tid,_aid,_content,touid); }) $(".button_agree").click(function(){ var supportobj = $(this); var tid = $(this).attr("id"); $.ajax({ type: "GET", url:"http://m.specialneedsforspecialkids.com/yun/index.php?topic/ajaxhassupport/" + tid, cache: false, success: function(hassupport){ if (hassupport != '1'){ $.ajax({ type: "GET", cache:false, url: "http://m.specialneedsforspecialkids.com/yun/index.php?topic/ajaxaddsupport/" + tid, success: function(comments) { supportobj.find("span").html(comments+"人贊"); } }); }else{ alert("您已經(jīng)贊過"); } } }); }); function attenquestion(_tid,_rs){ $.ajax({ //提交數(shù)據(jù)的類型 POST GET type:"POST", //提交的網(wǎng)址 url:"http://m.specialneedsforspecialkids.com/yun/favorite/topicadd.html", //提交的數(shù)據(jù) data:{tid:_tid,rs:_rs}, //返回數(shù)據(jù)的格式 datatype: "json",//"xml", "html", "script", "json", "jsonp", "text". //在請求之前調(diào)用的函數(shù) beforeSend:function(){}, //成功返回之后調(diào)用的函數(shù) success:function(data){ var data=eval("("+data+")"); console.log(data) if(data.code==2000){ layer.msg(data.msg,function(){ if(data.rs==1){ //取消收藏 $(".layui-layer-tips").attr("data-tips","收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart-o"></i>'); } if(data.rs==0){ //收藏成功 $(".layui-layer-tips").attr("data-tips","已收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart"></i>') } }) }else{ layer.msg(data.msg) } } , //調(diào)用執(zhí)行后調(diào)用的函數(shù) complete: function(XMLHttpRequest, textStatus){ postadopt=true; }, //調(diào)用出錯執(zhí)行的函數(shù) error: function(){ //請求出錯處理 postadopt=false; } }); } </script> <footer> <div id="tfxxf57" class="layui-container"> <div id="jtrjdpb" class="flex_box_zd"> <div id="xn77fh5" class="left-footer"> <h6><a href="http://m.specialneedsforspecialkids.com/"><img src="http://m.specialneedsforspecialkids.com/yun/static/theme/ukd//images/logo.png" alt="UCloud (優(yōu)刻得科技股份有限公司)"></a></h6> <p>UCloud (優(yōu)刻得科技股份有限公司)是中立、安全的云計算服務(wù)平臺,堅持中立,不涉足客戶業(yè)務(wù)領(lǐng)域。公司自主研發(fā)IaaS、PaaS、大數(shù)據(jù)流通平臺、AI服務(wù)平臺等一系列云計算產(chǎn)品,并深入了解互聯(lián)網(wǎng)、傳統(tǒng)企業(yè)在不同場景下的業(yè)務(wù)需求,提供公有云、混合云、私有云、專有云在內(nèi)的綜合性行業(yè)解決方案。</p> </div> <div id="nb55j7f" class="right-footer layui-hidemd"> <ul class="flex_box_zd"> <li> <h6>UCloud與云服務(wù)</h6> <p><a href="http://m.specialneedsforspecialkids.com/site/about/intro/">公司介紹</a></p> <p><a >加入我們</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/ucan/onlineclass/">UCan線上公開課</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/solutions.html" >行業(yè)解決方案</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/pro-notice/">產(chǎn)品動態(tài)</a></p> </li> <li> <h6>友情鏈接</h6> <p><a >GPU算力平臺</a></p> <p><a >UCloud私有云</a></p> <p><a >SurferCloud</a></p> <p><a >工廠仿真軟件</a></p> <p><a >Pinex</a></p> <p><a >AI繪畫</a></p> </li> <li> <h6>社區(qū)欄目</h6> <p><a href="http://m.specialneedsforspecialkids.com/yun/column/index.html">專欄文章</a></p> <p><a href="http://m.specialneedsforspecialkids.com/yun/udata/">專題地圖</a></p> </li> <li> <h6>常見問題</h6> <p><a href="http://m.specialneedsforspecialkids.com/site/ucsafe/notice.html" >安全中心</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/about/news/recent/" >新聞動態(tài)</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/about/news/report/">媒體動態(tài)</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/cases.html">客戶案例</a></p> <p><a href="http://m.specialneedsforspecialkids.com/site/notice/">公告</a></p> </li> <li> <span><img src="https://static.ucloud.cn/7a4b6983f4b94bcb97380adc5d073865.png" alt="優(yōu)刻得"></span> <p>掃掃了解更多</p></div> </div> <div id="vtjbvl5" class="copyright">Copyright ? 2012-2023 UCloud 優(yōu)刻得科技股份有限公司<i>|</i><a rel="nofollow" >滬公網(wǎng)安備 31011002000058號</a><i>|</i><a rel="nofollow" ></a> 滬ICP備12020087號-3</a><i>|</i> <script type="text/javascript" src="https://gyfk12.kuaishang.cn/bs/ks.j?cI=197688&fI=125915" charset="utf-8"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?290c2650b305fc9fff0dbdcafe48b59d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-DZSMXQ3P9N"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-DZSMXQ3P9N'); </script> <script> (function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?99f50ea166557aed914eb4a66a7a70a4709cbb98a54ecb576877d99556fb4bfc3d72cd14f8a76432df3935ab77ec54f830517b3cb210f7fd334f50ccb772134a"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script></div> </div> </footer> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.specialneedsforspecialkids.com/" title="国产xxxx99真实实拍">国产xxxx99真实实拍</a> <div class="friend-links"> <a href="http://m.cp97744.com/">国产一区电影</a> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="5pjjx" class="pl_css_ganrao" style="display: none;"><track id="5pjjx"></track><rp id="5pjjx"><font id="5pjjx"><meter id="5pjjx"><acronym id="5pjjx"></acronym></meter></font></rp><mark id="5pjjx"></mark><sup id="5pjjx"><label id="5pjjx"></label></sup><small id="5pjjx"><ins id="5pjjx"></ins></small><small id="5pjjx"><ins id="5pjjx"></ins></small><sub id="5pjjx"><strike id="5pjjx"><strong id="5pjjx"><pre id="5pjjx"></pre></strong></strike></sub><em id="5pjjx"></em><big id="5pjjx"><dl id="5pjjx"></dl></big><i id="5pjjx"></i><sub id="5pjjx"></sub><style id="5pjjx"></style><style id="5pjjx"><th id="5pjjx"></th></style><style id="5pjjx"></style><meter id="5pjjx"></meter><div id="5pjjx"><strong id="5pjjx"></strong></div><sub id="5pjjx"><div id="5pjjx"><strong id="5pjjx"><optgroup id="5pjjx"></optgroup></strong></div></sub><var id="5pjjx"></var><sub id="5pjjx"></sub><thead id="5pjjx"><legend id="5pjjx"></legend></thead><style id="5pjjx"></style><label id="5pjjx"></label><thead id="5pjjx"></thead><p id="5pjjx"><var id="5pjjx"></var></p><thead id="5pjjx"><legend id="5pjjx"><sup id="5pjjx"><label id="5pjjx"></label></sup></legend></thead><em id="5pjjx"><big id="5pjjx"></big></em><menuitem id="5pjjx"><span id="5pjjx"></span></menuitem><label id="5pjjx"></label><th id="5pjjx"></th><ol id="5pjjx"><pre id="5pjjx"></pre></ol><track id="5pjjx"><tt id="5pjjx"></tt></track><div id="5pjjx"><ol id="5pjjx"></ol></div><strike id="5pjjx"><strong id="5pjjx"></strong></strike><em id="5pjjx"></em><sub id="5pjjx"></sub><rp id="5pjjx"></rp><div id="5pjjx"><strong id="5pjjx"></strong></div><progress id="5pjjx"><sup id="5pjjx"><label id="5pjjx"><nobr id="5pjjx"></nobr></label></sup></progress><th id="5pjjx"><b id="5pjjx"></b></th><legend id="5pjjx"><sup id="5pjjx"></sup></legend><p id="5pjjx"><var id="5pjjx"><form id="5pjjx"><output id="5pjjx"></output></form></var></p><form id="5pjjx"></form><dl id="5pjjx"><pre id="5pjjx"><listing id="5pjjx"><dfn id="5pjjx"></dfn></listing></pre></dl><font id="5pjjx"><progress id="5pjjx"><sup id="5pjjx"><label id="5pjjx"></label></sup></progress></font><nobr id="5pjjx"><small id="5pjjx"><meter id="5pjjx"><address id="5pjjx"></address></meter></small></nobr><sub id="5pjjx"><p id="5pjjx"><var id="5pjjx"><small id="5pjjx"></small></var></p></sub><legend id="5pjjx"><sup id="5pjjx"></sup></legend><strong id="5pjjx"><optgroup id="5pjjx"></optgroup></strong><acronym id="5pjjx"></acronym><dfn id="5pjjx"><mark id="5pjjx"><span id="5pjjx"><thead id="5pjjx"></thead></span></mark></dfn><b id="5pjjx"><meter id="5pjjx"></meter></b><u id="5pjjx"><ruby id="5pjjx"><form id="5pjjx"><legend id="5pjjx"></legend></form></ruby></u><thead id="5pjjx"><legend id="5pjjx"></legend></thead><ruby id="5pjjx"><thead id="5pjjx"></thead></ruby><track id="5pjjx"></track><label id="5pjjx"></label><tt id="5pjjx"><menuitem id="5pjjx"><span id="5pjjx"><legend id="5pjjx"></legend></span></menuitem></tt><dfn id="5pjjx"></dfn><mark id="5pjjx"><form id="5pjjx"></form></mark><rp id="5pjjx"><font id="5pjjx"><legend id="5pjjx"><acronym id="5pjjx"></acronym></legend></font></rp><div id="5pjjx"><dl id="5pjjx"></dl></div><var id="5pjjx"></var><strike id="5pjjx"></strike><var id="5pjjx"><small id="5pjjx"><ins id="5pjjx"><address id="5pjjx"></address></ins></small></var><rp id="5pjjx"></rp><var id="5pjjx"><small id="5pjjx"><output id="5pjjx"><address id="5pjjx"></address></output></small></var><ol id="5pjjx"><optgroup id="5pjjx"></optgroup></ol><optgroup id="5pjjx"></optgroup><ruby id="5pjjx"><thead id="5pjjx"></thead></ruby><legend id="5pjjx"></legend><var id="5pjjx"><small id="5pjjx"><ins id="5pjjx"><address id="5pjjx"></address></ins></small></var><i id="5pjjx"></i><mark id="5pjjx"></mark><legend id="5pjjx"><sup id="5pjjx"></sup></legend><pre id="5pjjx"><track id="5pjjx"><tt id="5pjjx"><mark id="5pjjx"></mark></tt></track></pre><form id="5pjjx"><output id="5pjjx"></output></form><track id="5pjjx"><tt id="5pjjx"></tt></track><dl id="5pjjx"><pre id="5pjjx"></pre></dl><legend id="5pjjx"><label id="5pjjx"><u id="5pjjx"><mark id="5pjjx"></mark></u></label></legend><pre id="5pjjx"><style id="5pjjx"></style></pre><sub id="5pjjx"><div id="5pjjx"><ol id="5pjjx"><pre id="5pjjx"></pre></ol></div></sub><style id="5pjjx"></style><th id="5pjjx"></th><dfn id="5pjjx"><mark id="5pjjx"><form id="5pjjx"><legend id="5pjjx"></legend></form></mark></dfn><span id="5pjjx"><i id="5pjjx"></i></span><thead id="5pjjx"><label id="5pjjx"></label></thead><u id="5pjjx"></u><rp id="5pjjx"><font id="5pjjx"><progress id="5pjjx"><sup id="5pjjx"></sup></progress></font></rp><pre id="5pjjx"></pre><ruby id="5pjjx"><thead id="5pjjx"><legend id="5pjjx"><sup id="5pjjx"></sup></legend></thead></ruby><thead id="5pjjx"></thead><em id="5pjjx"><big id="5pjjx"></big></em><tt id="5pjjx"><menuitem id="5pjjx"><span id="5pjjx"><legend id="5pjjx"></legend></span></menuitem></tt><output id="5pjjx"><sub id="5pjjx"><div id="5pjjx"><ol id="5pjjx"></ol></div></sub></output><ins id="5pjjx"><address id="5pjjx"></address></ins><thead id="5pjjx"><dfn id="5pjjx"><u id="5pjjx"><rp id="5pjjx"></rp></u></dfn></thead><form id="5pjjx"><thead id="5pjjx"><dfn id="5pjjx"><strong id="5pjjx"></strong></dfn></thead></form><small id="5pjjx"><meter id="5pjjx"><pre id="5pjjx"><p id="5pjjx"></p></pre></meter></small><rp id="5pjjx"><thead id="5pjjx"><thead id="5pjjx"><label id="5pjjx"></label></thead></thead></rp><legend id="5pjjx"><acronym id="5pjjx"></acronym></legend><track id="5pjjx"></track><big id="5pjjx"><ol id="5pjjx"><pre id="5pjjx"><video id="5pjjx"></video></pre></ol></big><acronym id="5pjjx"></acronym><ruby id="5pjjx"><form id="5pjjx"><thead id="5pjjx"><label id="5pjjx"></label></thead></form></ruby><th id="5pjjx"></th><progress id="5pjjx"><label id="5pjjx"><strong id="5pjjx"><th id="5pjjx"></th></strong></label></progress><label id="5pjjx"></label><em id="5pjjx"></em><mark id="5pjjx"></mark><pre id="5pjjx"><track id="5pjjx"><em id="5pjjx"><menuitem id="5pjjx"></menuitem></em></track></pre><menuitem id="5pjjx"></menuitem><thead id="5pjjx"><dfn id="5pjjx"><dfn id="5pjjx"><mark id="5pjjx"></mark></dfn></dfn></thead><strong id="5pjjx"><th id="5pjjx"></th></strong><label id="5pjjx"><th id="5pjjx"><font id="5pjjx"><progress id="5pjjx"></progress></font></th></label><rp id="5pjjx"><thead id="5pjjx"></thead></rp><b id="5pjjx"><progress id="5pjjx"><acronym id="5pjjx"><style id="5pjjx"></style></acronym></progress></b><optgroup id="5pjjx"><output id="5pjjx"><sub id="5pjjx"><div id="5pjjx"></div></sub></output></optgroup><var id="5pjjx"><small id="5pjjx"><meter id="5pjjx"><pre id="5pjjx"></pre></meter></small></var><track id="5pjjx"></track><div id="5pjjx"><ol id="5pjjx"></ol></div><dl id="5pjjx"><i id="5pjjx"><track id="5pjjx"><dfn id="5pjjx"></dfn></track></i></dl><p id="5pjjx"><strong id="5pjjx"></strong></p><small id="5pjjx"><meter id="5pjjx"><acronym id="5pjjx"><p id="5pjjx"></p></acronym></meter></small><strong id="5pjjx"><ruby id="5pjjx"></ruby></strong><label id="5pjjx"><u id="5pjjx"></u></label><big id="5pjjx"><dl id="5pjjx"><pre id="5pjjx"><track id="5pjjx"></track></pre></dl></big><p id="5pjjx"><var id="5pjjx"><small id="5pjjx"><ins id="5pjjx"></ins></small></var></p><strike id="5pjjx"><var id="5pjjx"><form id="5pjjx"><output id="5pjjx"></output></form></var></strike><form id="5pjjx"><thead id="5pjjx"><dfn id="5pjjx"><strong id="5pjjx"></strong></dfn></thead></form><meter id="5pjjx"><pre id="5pjjx"></pre></meter><div id="5pjjx"><ol id="5pjjx"></ol></div><strong id="5pjjx"></strong><label id="5pjjx"><th id="5pjjx"></th></label><pre id="5pjjx"></pre><strong id="5pjjx"><ruby id="5pjjx"><thead id="5pjjx"><legend id="5pjjx"></legend></thead></ruby></strong><strike id="5pjjx"></strike><i id="5pjjx"></i><big id="5pjjx"><dl id="5pjjx"></dl></big><address id="5pjjx"><strike id="5pjjx"><var id="5pjjx"><small id="5pjjx"></small></var></strike></address><listing id="5pjjx"><tt id="5pjjx"><big id="5pjjx"><span id="5pjjx"></span></big></tt></listing><video id="5pjjx"></video><legend id="5pjjx"><acronym id="5pjjx"></acronym></legend><style id="5pjjx"></style><optgroup id="5pjjx"></optgroup><b id="5pjjx"><progress id="5pjjx"><acronym id="5pjjx"><style id="5pjjx"></style></acronym></progress></b><thead id="5pjjx"></thead><ins id="5pjjx"><address id="5pjjx"></address></ins><b id="5pjjx"><progress id="5pjjx"><acronym id="5pjjx"><style id="5pjjx"></style></acronym></progress></b><strong id="5pjjx"><ruby id="5pjjx"></ruby></strong><listing id="5pjjx"><dfn id="5pjjx"></dfn></listing></div> <script src="http://m.specialneedsforspecialkids.com/yun/static/theme/ukd/js/common.js"></script> <<script type="text/javascript"> $(".site-seo-depict *,.site-content-answer-body *,.site-body-depict *").css("max-width","100%"); </script> </html>