成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

[叁]Flask web開(kāi)發(fā):模板

mochixuan / 1698人閱讀

摘要:使用真實(shí)值替代變量,再返回最終得到的響應(yīng)字符串,這一過(guò)程成為渲染。渲染模板渲染模板提供的函數(shù)把模板引擎集成到了程序中。隨后的參數(shù)都是鍵值對(duì),表示模板中變量對(duì)應(yīng)的真實(shí)值。程序現(xiàn)在使用的模板繼承自不是直接繼承自的基模板。

本系列筆記是我閱讀Miguel Grinberg的《Flask Web Development》的筆記,標(biāo)題與書(shū)本同步。希望通過(guò)記錄技術(shù)筆記的方式促進(jìn)自己對(duì)知識(shí)的理解。

本篇對(duì)應(yīng)書(shū)本第三章:模板。

模板是一個(gè)包含響應(yīng)文本的文件,其中包含用占位變量表示的動(dòng)態(tài)部分,其具體值只在請(qǐng)求的上下文中才能知道。使用真實(shí)值替代變量,再返回最終得到的響應(yīng)字符串,這一過(guò)程成為渲染。

Jinja2模板引擎

Flask渲染模板使用的是Jinja2模板引擎。

渲染模板
hello.py 渲染模板
from flask import Flask,render_template

#...

@app.route("/")
def index():
    return render_template("index.html")

@app.route("/user/")
def user(name):
    return render_template("user.html",name=name)
    
# Flask提供的render_template函數(shù)把Jinja2模板引擎集成到了程序中。
# render_template函數(shù)的第一個(gè)參數(shù)是模板的文件名。
# 隨后的參數(shù)都是鍵值對(duì),表示模板中變量對(duì)應(yīng)的真實(shí)值。
變量

模板中使用的{{ name }}結(jié)構(gòu)表示一個(gè)變量,它是一種特殊的占位符,告訴模塊引擎這個(gè)位置的值從渲染模板時(shí)使用的數(shù)據(jù)中獲取。

Jinja2能識(shí)別所有類型的變量,示例:

A value from a dictionary:{{ mydict["key"]}}.

A value from a list:{{ mylist[3]}}.

A value from a list,with a variable index:{{ mylist[myintvar] }}.

A value from an object"s method: {{ myobj.somemethod() }}.

變量過(guò)濾器

過(guò)濾器名添加在變量之后,中間使用豎線分隔。

hello, {{ name|capitalize }}

常用過(guò)濾器:

過(guò)濾器名 說(shuō)明
safe 渲染值時(shí)不轉(zhuǎn)義
capitalize 把值得首字母轉(zhuǎn)換成大寫(xiě),其他字母轉(zhuǎn)換成小寫(xiě)
lower 把值轉(zhuǎn)換成小寫(xiě)形式
upper 把值轉(zhuǎn)換成大寫(xiě)形式
title 把值中每個(gè)單詞的首字母都換成大寫(xiě)
trim 把值的首位空格去掉
striptags 渲染之前把值中所有的HTML標(biāo)簽都刪掉
控制結(jié)構(gòu) 條件控制結(jié)構(gòu)
{% if user %}
    Hello,{{ user }}!
{% else %}
    Hello, Stranger!
{% endif %}
渲染一組元素
    {% for comment in comments %}
  • {{ comment }}
  • {% endfor %}
{{% macro render_comment(comment)%}}
    
  • {{ comment }}
  • {{ endmacro }}
      {% for comment in comments %} {{ render_comment(comment) }} {% endfor %}
    為了重復(fù)使用宏,保存在多帶帶文件中,再在需要的模板中導(dǎo)入。 {% import "macro.html" as macros %}
      {% for comment in comments%} {{ macros.render_comment(comment)}} {% endfor%}
    復(fù)用代碼片段
    {% include "common.html" %}
    
    模板繼承
    - 建一個(gè)名為base.html的基模板
    
    
        {% block head %}
        {% block title %}{% endblock %} - My Application
        {% endblock %}
    
    
        {% block body %}
        {% endblock %}
    
    
    
    - 衍生模板中修改block標(biāo)簽定義的元素
    {% extends "base.html" %} #定義基模板
    {% block title%}Index{% endblock %} #修改title塊內(nèi)容
    {% block head %} #修改head塊內(nèi)容
        {{ super() }} #原來(lái)head中有內(nèi)容,用super()獲取原來(lái)的內(nèi)容
        
    {% endblock %}
    {% block body %} #修改body塊內(nèi)容
    

    Hello, World!

    {% endblock %}
    使用Flask-Bootstrap集成Twitter Bootstrap

    Bootstrap是Twitter開(kāi)發(fā)的一個(gè)開(kāi)源框架,它提供用戶界面組件可用于創(chuàng)建整潔且具有吸引力的網(wǎng)頁(yè),而且這些網(wǎng)頁(yè)還能兼容所有現(xiàn)代Web瀏覽器。Bootstrap是客戶端框架,不會(huì)直接涉及服務(wù)器??梢栽谀0逯幸肂ootstrap的CSS和JavaScript文件。

    安裝Flask-Bootstrap擴(kuò)展
    (venv)$ pip install flask-bootstrap
    
    hello.py: 初始化Flask-Bootstrap
    from falsk_bootstrap import Bootstrap
    # ...
    bootstrap = Bootstrap(app)
    
    使用Flask-Bootstrap的模板
    {% extends "bootstrap/base.html" %}
    
    {% block title%}Flasky{% endblock %}
    
    {% block navbar %}
    
    {% endblock %}
    
    {% block content %}
    
    {% endblock %} # 模板利用Bootstrap中的樣式進(jìn)行了修改
    Flask-Bootstrap基模板中定義的塊
    塊名 說(shuō)明
    doc 整個(gè)HTML文檔
    html_attribs 標(biāo)簽的屬性
    html 標(biāo)簽中的內(nèi)容
    head 標(biāo)簽中的內(nèi)容
    title 標(biāo)簽中的內(nèi)容</td> </tr> <tr> <td>metas</td> <td>一組<meta>標(biāo)簽</td> </tr> <tr> <td>styles</td> <td>層疊樣式表定義</td> </tr> <tr> <td>body_attribs</td> <td><body>標(biāo)簽的屬性</td> </tr> <tr> <td>body</td> <td><body>標(biāo)簽中的內(nèi)容</td> </tr> <tr> <td>navbar</td> <td>用戶定義的導(dǎo)航條</td> </tr> <tr> <td>content</td> <td>用戶定義的頁(yè)面內(nèi)容</td> </tr> <tr> <td>scripts</td> <td>文檔底部的JavaScript聲明</td> </tr> </tbody> </table> <b>自定義錯(cuò)誤頁(yè)面</b> <pre> <p>利用Jinja2的模板繼承機(jī)制可以讓templates/base.html繼承自bootstrap/base.html。</p> <pre>{% extends "bootstrap/base.html" %} {% block title %}Flasky{% endblock %} {% block navbar %} <div id="6a22guqa" class="navbar navbar-inverse" role="navigation"> <div id="6a22guqa" class="container"> <div id="6a22guqa" class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span id="6a22guqa" class="sr-only">Toggle navigation</span> <span id="6a22guqa" class="icon-bar"></span> <span id="6a22guqa" class="icon-bar"></span> <span id="6a22guqa" class="icon-bar"></span> </button> <a class="navbar-brand" href="/">Flasky</a> </div> <div id="6a22guqa" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> </ul> </div> </div> </div> {% endblock %} {% block content %} <div id="6a22guqa" class="container"> {% block page_content %}{% endblock %} </div> {% endblock %} </pre> <p>程序現(xiàn)在使用的模板繼承自templates/base.html不是直接繼承自Flask-Bootstrap的基模板。</p> </pre> <pre>404錯(cuò)誤頁(yè)面:繼承自templates/base.html {% extends "base.html" %} {% block title %}Flasky - Page Not Found{% endblock %} {% block page_content %} <div id="6a22guqa" class="page-header"> <h1>Not Found</h1> </div> {% endblock %} user頁(yè)面:繼承自templates/base.html {% extends "base.html" %} {% block title %}Flasky{% endblock %} {% block page_content %} <div id="6a22guqa" class="page-header"> <h1>Hello, {{ name }}!</h1> </div> {% endblock %} </pre> <b>鏈接</b> <pre><p>Flask提供了url_for()輔助函數(shù),它可以使用程序URL映射中保存的信息生成URL。</p></pre> <p><p>url_for函數(shù)最簡(jiǎn)單的用法:以視圖函數(shù)名作為參數(shù),返回對(duì)應(yīng)的URL。url_for("index")得到的結(jié)果是"/"</p></p> <p><p>使用url_for生成動(dòng)態(tài)地址時(shí),將動(dòng)態(tài)部分作為關(guān)鍵字參數(shù)傳入。<br>url_for("user",name="john",_external=True)</p></p> <p><p>函數(shù)能將任何額外參數(shù)添加到查詢字符串中。</p></p> <b>靜態(tài)文件</b> <b>使用Flask-Moment本地化日期和時(shí)間</b> <pre><p>Flask-Moment是Flask的一個(gè)程序擴(kuò)展,能夠在瀏覽器中渲染日期和時(shí)間。</p></pre> <p>安裝Flask-Moment</p> <pre>(venv)$ pip install flask-moment </pre> <b>hello.py:初始化Flask-Moment</b> <pre>from flask_moment import Moment moment = Moment(app) </pre> <b>templates/base.html: 引入 moment.js庫(kù)</b> <pre>{% block scripts %} {{ super() }} {{ moment.include_moment() }} {% endblock %} </pre> <b>hello.py: 加入一個(gè)datetime變量</b> <pre>from date.time import datetime @app.route("/") def index(): return render_template("index.html",current_time=datetime.utcnow()) </pre> <b>templates/index.html: 使用Flask-Moment渲染時(shí)間戳</b> <pre><p>The local date and time is {{ moment(current_time).format("LLL") }}.</p> <p>That was {{ moment(current_time).fromNow(refresh=True) }}.</p> </pre> <hr> <p>本文由?<strong>EverFighting</strong>?創(chuàng)作,采用?**[知識(shí)共享署名 3.0 中國(guó)大陸許可協(xié)議]</p> </div> <div id="6a22guqa" class="mt-64 tags-seach" > <div id="6a22guqa" class="tags-info"> <a style="width:120px;" title="GPU云服務(wù)器" href="http://m.hztianpu.com/site/product/gpu.html">GPU云服務(wù)器</a> <a style="width:120px;" title="云服務(wù)器" href="http://m.hztianpu.com/site/active/kuaijiesale.html?ytag=seo">云服務(wù)器</a> <a style="width:120px;" title="Flask_Web" href="http://m.hztianpu.com/yun/tag/Flask_Web/">Flask_Web</a> <a style="width:120px;" title="web模板" href="http://m.hztianpu.com/yun/tag/webmoban/">web模板</a> <a style="width:120px;" title="web前端模板" href="http://m.hztianpu.com/yun/tag/webqianduanmoban/">web前端模板</a> <a style="width:120px;" title="小程序開(kāi)發(fā)模板" href="http://m.hztianpu.com/yun/tag/xiaochengxukaifamoban/">小程序開(kāi)發(fā)模板</a> </div> </div> <div id="6a22guqa" class="entry-copyright mb-30"> <p class="mb-15"> 文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。</p> <p>轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/38104.html</p> </div> <ul class="pre-next-page"> <li id="6a22guqa" class="ellipsis"><a class="hpf" href="http://m.hztianpu.com/yun/38103.html">上一篇:pyenv 安裝配置與國(guó)內(nèi)鏡像加速 結(jié)合 virtualenv</a></li> <li id="6a22guqa" class="ellipsis"><a class="hpf" href="http://m.hztianpu.com/yun/38105.html">下一篇:SICP Python描述 1.1 引言</a></li> </ul> </div> <div id="6a22guqa" 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="6a22guqa" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.hztianpu.com/yun/44228.html"><b>從零開(kāi)始搭建論壇(三):<em>Flask</em>框架簡(jiǎn)單介紹</b></a></h2> <p class="ellipsis2 good">摘要:我們的論壇項(xiàng)目就使用了該框架。此外,麥子學(xué)院也有一個(gè)入門(mén)視頻教程,一共小時(shí)的視頻教程,涵蓋開(kāi)發(fā)的方方面面,包括環(huán)境的搭建,語(yǔ)法介紹,項(xiàng)目結(jié)構(gòu)的組織,全球化,單元測(cè)試等內(nèi)容。博客地址更多閱讀的機(jī)制三個(gè)框架的對(duì)比 前面兩篇文章中我們已經(jīng)了解 Web(HTTP)服務(wù)器,Web應(yīng)用程序,Web框架,WSGI這些 Python Web 開(kāi)發(fā)中的概念。我們知道,Web框架通過(guò)將不同Web應(yīng)用程序中...</p> <div id="6a22guqa" class="com_white-left-info"> <div id="6a22guqa" class="com_white-left-infol"> <a href="http://m.hztianpu.com/yun/u-1211.html"><img src="http://m.hztianpu.com/yun/data/avatar/000/00/12/small_000001211.jpg" alt=""><span id="6a22guqa" class="layui-hide64">Alan</span></a> <time datetime="">2019-07-31 10:51</time> <span><i class="fa fa-commenting"></i>評(píng)論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="6a22guqa" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.hztianpu.com/yun/44942.html"><b><em>Flask</em>框架基礎(chǔ)(二)</b></a></h2> <p class="ellipsis2 good">摘要:處理和函數(shù)之間關(guān)系的程序稱為路由。模板引擎是由實(shí)現(xiàn)的是內(nèi)置的模板語(yǔ)言參照設(shè)計(jì)思想設(shè)計(jì)的,跟差不多渲染模板默認(rèn)情況下,在程序文件夾中的子文件夾中尋找模板。如果需要可在文件夾中使用子文件夾存放文件。 1 程序的基本結(jié)構(gòu) 1.1初始化 所有Flask 程序都必須創(chuàng)建一個(gè)程序?qū)嵗?。Web 服務(wù)器使用一種名為Web 服務(wù)器網(wǎng)關(guān)接口(Web Server Gateway Interface,WSG...</p> <div id="6a22guqa" class="com_white-left-info"> <div id="6a22guqa" class="com_white-left-infol"> <a href="http://m.hztianpu.com/yun/u-599.html"><img src="http://m.hztianpu.com/yun/data/avatar/000/00/05/small_000000599.jpg" alt=""><span id="6a22guqa" class="layui-hide64">lpjustdoit</span></a> <time datetime="">2019-07-31 11:17</time> <span><i class="fa fa-commenting"></i>評(píng)論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="6a22guqa" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.hztianpu.com/yun/122015.html"><b>最終篇:簡(jiǎn)潔易懂,初學(xué)者挑戰(zhàn)學(xué)習(xí)Python編程30天 (五)</b></a></h2> <p class="ellipsis2 good">摘要:和是最受歡迎的。虛擬環(huán)境將允許將項(xiàng)目依賴項(xiàng)與本地機(jī)器依賴項(xiàng)隔離開(kāi)來(lái)。文件將是項(xiàng)目中的主文件。運(yùn)行后,檢查本地主機(jī)。在中創(chuàng)建一個(gè)名為的文件夾,并創(chuàng)建一個(gè)名為的文件夾。部署創(chuàng)建帳戶為前端和全棧應(yīng)用程序提供免費(fèi)部署服務(wù)。 ...</p> <div id="6a22guqa" class="com_white-left-info"> <div id="6a22guqa" class="com_white-left-infol"> <a href="http://m.hztianpu.com/yun/u-1154.html"><img src="http://m.hztianpu.com/yun/data/avatar/000/00/11/small_000001154.jpg" alt=""><span id="6a22guqa" class="layui-hide64">1fe1se</span></a> <time datetime="">2021-10-09 09:44</time> <span><i class="fa fa-commenting"></i>評(píng)論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="6a22guqa" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.hztianpu.com/yun/38373.html"><b><em>flask</em> 源碼解析:簡(jiǎn)介</b></a></h2> <p class="ellipsis2 good">摘要:簡(jiǎn)介官網(wǎng)上對(duì)它的定位是一個(gè)微開(kāi)發(fā)框架。另外一個(gè)必須理解的概念是,簡(jiǎn)單來(lái)說(shuō)就是一套和框架應(yīng)用之間的協(xié)議。功能比較豐富,支持解析自動(dòng)防止攻擊繼承變量過(guò)濾器流程邏輯支持代碼邏輯集成等等。那么,從下一篇文章,我們就正式開(kāi)始源碼之旅了 文章屬于作者原創(chuàng),原文發(fā)布在個(gè)人博客。 flask 簡(jiǎn)介 Flask 官網(wǎng)上對(duì)它的定位是一個(gè)微 python web 開(kāi)發(fā)框架。 Flask is a micro...</p> <div id="6a22guqa" class="com_white-left-info"> <div id="6a22guqa" class="com_white-left-infol"> <a href="http://m.hztianpu.com/yun/u-141.html"><img src="http://m.hztianpu.com/yun/data/avatar/000/00/01/small_000000141.jpg" alt=""><span id="6a22guqa" class="layui-hide64">megatron</span></a> <time datetime="">2019-07-25 11:23</time> <span><i class="fa fa-commenting"></i>評(píng)論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="6a22guqa" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://m.hztianpu.com/yun/41363.html"><b><em>flask</em>文檔學(xué)習(xí)筆記1-快速入門(mén)</b></a></h2> <p class="ellipsis2 good">摘要:示例如下靜態(tài)路由使用動(dòng)態(tài)變量的路由未指定變量類型使用動(dòng)態(tài)變量的路由指定變量類型指定的路由變量,可以作為被裝飾的函數(shù)參數(shù)傳入進(jìn)來(lái)。 開(kāi)始決定認(rèn)真的在網(wǎng)上寫(xiě)一些東西,主要原因還是在于希望能提升學(xué)習(xí)效果。雖說(shuō)python寫(xiě)了有幾年,但是web后端框架的確沒(méi)怎么接觸過(guò),買了本狗書(shū)寥寥草草的過(guò)了一遍,發(fā)現(xiàn)很多東西還是理解不深,真的是好記性不如爛筆頭,知識(shí)也要從基礎(chǔ)開(kāi)始,退回來(lái)好好看看官方文檔,再...</p> <div id="6a22guqa" class="com_white-left-info"> <div id="6a22guqa" class="com_white-left-infol"> <a href="http://m.hztianpu.com/yun/u-1342.html"><img src="http://m.hztianpu.com/yun/data/avatar/000/00/13/small_000001342.jpg" alt=""><span id="6a22guqa" class="layui-hide64">lingdududu</span></a> <time datetime="">2019-07-30 15:37</time> <span><i class="fa fa-commenting"></i>評(píng)論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> </ul> </div> <div id="6a22guqa" class="topicone-box-wangeditor"> <h3 class="top-com-title mb-64"><span>發(fā)表評(píng)論</span></h3> <div id="6a22guqa" class="xcp-publish-main flex_box_zd"> <div id="6a22guqa" class="unlogin-pinglun-box"> <a href="javascript:login()" class="grad">登陸后可評(píng)論</a> </div> </div> </div> <div id="6a22guqa" class="site-box-content"> <div id="6a22guqa" class="site-content-title"> <h3 class="top-com-title mb-64"><span>0條評(píng)論</span></h3> </div> <div id="6a22guqa" class="pages"></ul></div> </div> </div> <div id="6a22guqa" class="layui-col-md4 layui-col-lg3 com_white-right site-wrap-right"> <div id="6a22guqa" class=""> <div id="6a22guqa" class="com_layuiright-box user-msgbox"> <a href="http://m.hztianpu.com/yun/u-158.html"><img src="http://m.hztianpu.com/yun/data/avatar/000/00/01/small_000000158.jpg" alt=""></a> <h3><a href="http://m.hztianpu.com/yun/u-158.html" rel="nofollow">mochixuan</a></h3> <h6>男<span>|</span>高級(jí)講師</h6> <div id="6a22guqa" class="flex_box_zd user-msgbox-atten"> <a href="javascript:attentto_user(158)" id="attenttouser_158" class="grad follow-btn notfollow attention">我要關(guān)注</a> <a href="javascript:login()" title="發(fā)私信" >我要私信</a> </div> <div id="6a22guqa" class="user-msgbox-list flex_box_zd"> <h3 class="hpf">TA的文章</h3> <a href="http://m.hztianpu.com/yun/ut-158.html" class="box_hxjz">閱讀更多</a> </div> <ul class="user-msgbox-ul"> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/130984.html">tensorflow</a></h3> <p>閱讀 1642<span>·</span>2023-04-26 02:50</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/130850.html">gpu版本的tensorflow</a></h3> <p>閱讀 3628<span>·</span>2023-04-26 00:28</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/130632.html">tensorflow怎么安裝</a></h3> <p>閱讀 2010<span>·</span>2023-04-25 15:18</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/124888.html">#黑五#TmhHost:1核/1G/10Mbps/日本CN2/季付200元,充值送10%,洛杉磯99</a></h3> <p>閱讀 3280<span>·</span>2021-11-24 10:31</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/115231.html">CSS像素(css pixel)及像素單位 例如px pt em</a></h3> <p>閱讀 1083<span>·</span>2019-08-30 13:00</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/113247.html">DOM3中的自定義事件</a></h3> <p>閱讀 1072<span>·</span>2019-08-29 15:19</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/112405.html">前端學(xué)習(xí)資源</a></h3> <p>閱讀 1836<span>·</span>2019-08-29 13:09</p></li> <li><h3 class="ellipsis"><a href="http://m.hztianpu.com/yun/112365.html">vue組件之間的通信</a></h3> <p>閱讀 3043<span>·</span>2019-08-29 13:06</p></li> </ul> </div> <!-- 文章詳情右側(cè)廣告--> <div id="6a22guqa" class="com_layuiright-box"> <h6 class="top-com-title"><span>最新活動(dòng)</span></h6> <div id="6a22guqa" class="com_adbox"> <div id="6a22guqa" class="layui-carousel" id="right-item"> <div carousel-item> <div> <a href="http://m.hztianpu.com/site/active/kuaijiesale.html?ytag=seo" rel="nofollow"> <img src="http://m.hztianpu.com/yun/data/attach/240625/2rTjEHmi.png" alt="云服務(wù)器"> </a> </div> <div> <a href="http://m.hztianpu.com/site/product/gpu.html" rel="nofollow"> <img src="http://m.hztianpu.com/yun/data/attach/240807/7NjZjdrd.png" alt="GPU云服務(wù)器"> </a> </div> </div> </div> </div> <!-- banner結(jié)束 --> <div id="6a22guqa" class="adhtml"> </div> </div> </div> </div> </div> </div> </section> <!-- wap拉出按鈕 --> <div id="6a22guqa" class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> </div> <!-- wap遮罩層 --> <div id="6a22guqa" class="site-mobile-shade"></div> <!--付費(fèi)閱讀 --> <div class="6a22guqa" id="payread"> <div id="6a22guqa" class="layui-form-item">閱讀需要支付1元查看</div> <div id="6a22guqa" class="layui-form-item"><button class="btn-right">支付并查看</button></div> </div> <link rel="stylesheet" type="text/css" href="http://m.hztianpu.com/yun/static/js/neweditor/code/styles/tomorrow-night-eighties.css"> <footer> <div id="6a22guqa" class="layui-container"> <div id="6a22guqa" class="flex_box_zd"> <div id="6a22guqa" class="left-footer"> <h6><a href="http://m.hztianpu.com/"><img src="http://m.hztianpu.com/yun/static/theme/ukd//images/logo.png" alt="UCloud (優(yōu)刻得科技股份有限公司)"></a></h6> <p>UCloud (優(yōu)刻得科技股份有限公司)是中立、安全的云計(jì)算服務(wù)平臺(tái),堅(jiān)持中立,不涉足客戶業(yè)務(wù)領(lǐng)域。公司自主研發(fā)IaaS、PaaS、大數(shù)據(jù)流通平臺(tái)、AI服務(wù)平臺(tái)等一系列云計(jì)算產(chǎn)品,并深入了解互聯(lián)網(wǎng)、傳統(tǒng)企業(yè)在不同場(chǎng)景下的業(yè)務(wù)需求,提供公有云、混合云、私有云、專有云在內(nèi)的綜合性行業(yè)解決方案。</p> </div> <div id="6a22guqa" class="right-footer layui-hidemd"> <ul class="flex_box_zd"> <li> <h6>UCloud與云服務(wù)</h6> <p><a href="http://m.hztianpu.com/site/about/intro/">公司介紹</a></p> <p><a >加入我們</a></p> <p><a href="http://m.hztianpu.com/site/ucan/onlineclass/">UCan線上公開(kāi)課</a></p> <p><a href="http://m.hztianpu.com/site/solutions.html" >行業(yè)解決方案</a></p> <p><a href="http://m.hztianpu.com/site/pro-notice/">產(chǎn)品動(dòng)態(tài)</a></p> </li> <li> <h6>友情鏈接</h6> <p><a >GPU算力平臺(tái)</a></p> <p><a >UCloud私有云</a></p> <p><a >SurferCloud</a></p> <p><a >工廠仿真軟件</a></p> <p><a >AI繪畫(huà)</a></p> <p><a >Wavespeed AI</a></p> </li> <li> <h6>社區(qū)欄目</h6> <p><a href="http://m.hztianpu.com/yun/column/index.html">專欄文章</a></p> <p><a href="http://m.hztianpu.com/yun/udata/">專題地圖</a></p> </li> <li> <h6>常見(jiàn)問(wèn)題</h6> <p><a href="http://m.hztianpu.com/site/ucsafe/notice.html" >安全中心</a></p> <p><a href="http://m.hztianpu.com/site/about/news/recent/" >新聞動(dòng)態(tài)</a></p> <p><a href="http://m.hztianpu.com/site/about/news/report/">媒體動(dòng)態(tài)</a></p> <p><a href="http://m.hztianpu.com/site/cases.html">客戶案例</a></p> <p><a href="http://m.hztianpu.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="6a22guqa" class="copyright">Copyright ? 2012-2025 UCloud 優(yōu)刻得科技股份有限公司<i>|</i><a rel="nofollow" >滬公網(wǎng)安備 31011002000058號(hào)</a><i>|</i><a rel="nofollow" ></a> 滬ICP備12020087號(hào)-3</a><i>|</i> <!-- Global site tag (gtag.js) - Google Analytics --> </div> </div> </footer> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <h1><a href="http://m.hztianpu.com/">成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码</a></h1> <div class="friend-links"> </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="dtrxv" class="pl_css_ganrao" style="display: none;"><thead id="dtrxv"></thead><optgroup id="dtrxv"><output id="dtrxv"><span id="dtrxv"><strike id="dtrxv"></strike></span></output></optgroup><dfn id="dtrxv"></dfn><video id="dtrxv"><em id="dtrxv"><meter id="dtrxv"><pre id="dtrxv"></pre></meter></em></video><meter id="dtrxv"><pre id="dtrxv"></pre></meter><i id="dtrxv"></i><output id="dtrxv"><sub id="dtrxv"><strike id="dtrxv"><strong id="dtrxv"></strong></strike></sub></output><optgroup id="dtrxv"><ruby id="dtrxv"><thead id="dtrxv"><big id="dtrxv"></big></thead></ruby></optgroup><legend id="dtrxv"><sup id="dtrxv"><label id="dtrxv"><video id="dtrxv"></video></label></sup></legend><small id="dtrxv"><menuitem id="dtrxv"></menuitem></small><listing id="dtrxv"></listing><pre id="dtrxv"><style id="dtrxv"><nobr id="dtrxv"><small id="dtrxv"></small></nobr></style></pre><u id="dtrxv"><mark id="dtrxv"><form id="dtrxv"><p id="dtrxv"></p></form></mark></u><meter id="dtrxv"><ol id="dtrxv"></ol></meter><mark id="dtrxv"><form id="dtrxv"><p id="dtrxv"><var id="dtrxv"></var></p></form></mark><i id="dtrxv"></i><style id="dtrxv"><video id="dtrxv"><em id="dtrxv"><meter id="dtrxv"></meter></em></video></style><ol id="dtrxv"></ol><pre id="dtrxv"><th id="dtrxv"><b id="dtrxv"><mark id="dtrxv"></mark></b></th></pre><i id="dtrxv"></i><strong id="dtrxv"></strong><label id="dtrxv"><video id="dtrxv"><font id="dtrxv"><legend id="dtrxv"></legend></font></video></label><optgroup id="dtrxv"></optgroup><ins id="dtrxv"><address id="dtrxv"><p id="dtrxv"><var id="dtrxv"></var></p></address></ins><track id="dtrxv"></track><progress id="dtrxv"></progress><thead id="dtrxv"></thead><ruby id="dtrxv"></ruby><ruby id="dtrxv"><thead id="dtrxv"></thead></ruby><pre id="dtrxv"><th id="dtrxv"><b id="dtrxv"><mark id="dtrxv"></mark></b></th></pre><dfn id="dtrxv"><u id="dtrxv"></u></dfn><sup id="dtrxv"><label id="dtrxv"><rp id="dtrxv"><em id="dtrxv"></em></rp></label></sup><var id="dtrxv"></var><p id="dtrxv"><dfn id="dtrxv"></dfn></p><meter id="dtrxv"><pre id="dtrxv"></pre></meter><output id="dtrxv"></output><strike id="dtrxv"><strong id="dtrxv"></strong></strike><var id="dtrxv"></var><menuitem id="dtrxv"></menuitem><dfn id="dtrxv"><u id="dtrxv"></u></dfn><thead id="dtrxv"><big id="dtrxv"><dl id="dtrxv"><strong id="dtrxv"></strong></dl></big></thead><tt id="dtrxv"></tt><pre id="dtrxv"><track id="dtrxv"><b id="dtrxv"><progress id="dtrxv"></progress></b></track></pre><style id="dtrxv"></style><progress id="dtrxv"></progress><form id="dtrxv"></form><optgroup id="dtrxv"></optgroup><u id="dtrxv"><ins id="dtrxv"></ins></u><font id="dtrxv"></font><dfn id="dtrxv"><output id="dtrxv"><sub id="dtrxv"><thead id="dtrxv"></thead></sub></output></dfn><nobr id="dtrxv"></nobr><pre id="dtrxv"><i id="dtrxv"><listing id="dtrxv"><dfn id="dtrxv"></dfn></listing></i></pre><p id="dtrxv"><dfn id="dtrxv"></dfn></p><i id="dtrxv"></i><dl id="dtrxv"><legend id="dtrxv"><th id="dtrxv"><b id="dtrxv"></b></th></legend></dl><mark id="dtrxv"><form id="dtrxv"><p id="dtrxv"><var id="dtrxv"></var></p></form></mark><ol id="dtrxv"><label id="dtrxv"></label></ol><optgroup id="dtrxv"></optgroup><thead id="dtrxv"></thead><b id="dtrxv"><mark id="dtrxv"></mark></b><mark id="dtrxv"></mark><mark id="dtrxv"><acronym id="dtrxv"></acronym></mark><style id="dtrxv"><nobr id="dtrxv"><small id="dtrxv"><menuitem id="dtrxv"></menuitem></small></nobr></style><pre id="dtrxv"><th id="dtrxv"></th></pre><ruby id="dtrxv"></ruby><strong id="dtrxv"><track id="dtrxv"></track></strong><font id="dtrxv"></font><p id="dtrxv"><var id="dtrxv"><u id="dtrxv"><progress id="dtrxv"></progress></u></var></p><pre id="dtrxv"></pre><var id="dtrxv"></var><font id="dtrxv"><div id="dtrxv"><ol id="dtrxv"><style id="dtrxv"></style></ol></div></font><meter id="dtrxv"><pre id="dtrxv"></pre></meter><output id="dtrxv"></output><rp id="dtrxv"></rp><b id="dtrxv"><mark id="dtrxv"></mark></b><ol id="dtrxv"><label id="dtrxv"></label></ol><dfn id="dtrxv"></dfn><strong id="dtrxv"><optgroup id="dtrxv"><output id="dtrxv"><sub id="dtrxv"></sub></output></optgroup></strong><font id="dtrxv"><meter id="dtrxv"><pre id="dtrxv"><i id="dtrxv"></i></pre></meter></font><rp id="dtrxv"><address id="dtrxv"></address></rp><pre id="dtrxv"><th id="dtrxv"><b id="dtrxv"><mark id="dtrxv"></mark></b></th></pre><track id="dtrxv"><tt id="dtrxv"><progress id="dtrxv"><acronym id="dtrxv"></acronym></progress></tt></track><th id="dtrxv"><tt id="dtrxv"></tt></th><strike id="dtrxv"></strike><p id="dtrxv"></p><acronym id="dtrxv"><p id="dtrxv"><dfn id="dtrxv"><form id="dtrxv"></form></dfn></p></acronym><optgroup id="dtrxv"><track id="dtrxv"><tt id="dtrxv"><big id="dtrxv"></big></tt></track></optgroup><label id="dtrxv"><video id="dtrxv"></video></label><p id="dtrxv"><var id="dtrxv"><form id="dtrxv"><rp id="dtrxv"></rp></form></var></p><pre id="dtrxv"><track id="dtrxv"></track></pre><progress id="dtrxv"><acronym id="dtrxv"></acronym></progress><acronym id="dtrxv"><legend id="dtrxv"><dfn id="dtrxv"><b id="dtrxv"></b></dfn></legend></acronym><dfn id="dtrxv"><u id="dtrxv"></u></dfn><style id="dtrxv"><video id="dtrxv"></video></style><progress id="dtrxv"></progress><address id="dtrxv"><div id="dtrxv"><sup id="dtrxv"><style id="dtrxv"></style></sup></div></address><sup id="dtrxv"><label id="dtrxv"></label></sup><thead id="dtrxv"><strong id="dtrxv"></strong></thead><optgroup id="dtrxv"><track id="dtrxv"><thead id="dtrxv"><progress id="dtrxv"></progress></thead></track></optgroup><ins id="dtrxv"><address id="dtrxv"><legend id="dtrxv"><ol id="dtrxv"></ol></legend></address></ins><optgroup id="dtrxv"><sup id="dtrxv"><u id="dtrxv"><mark id="dtrxv"></mark></u></sup></optgroup><strong id="dtrxv"></strong><output id="dtrxv"></output><form id="dtrxv"></form><div id="dtrxv"></div><b id="dtrxv"><progress id="dtrxv"></progress></b><dfn id="dtrxv"><u id="dtrxv"><mark id="dtrxv"><form id="dtrxv"></form></mark></u></dfn><form id="dtrxv"><legend id="dtrxv"></legend></form><dl id="dtrxv"></dl><ins id="dtrxv"><address id="dtrxv"></address></ins><optgroup id="dtrxv"><ruby id="dtrxv"><thead id="dtrxv"><thead id="dtrxv"></thead></thead></ruby></optgroup><style id="dtrxv"></style><sub id="dtrxv"><thead id="dtrxv"></thead></sub><rp id="dtrxv"><address id="dtrxv"></address></rp><form id="dtrxv"><ins id="dtrxv"><address id="dtrxv"><legend id="dtrxv"></legend></address></ins></form><thead id="dtrxv"></thead><progress id="dtrxv"></progress><label id="dtrxv"><video id="dtrxv"></video></label><b id="dtrxv"><mark id="dtrxv"></mark></b><video id="dtrxv"><font id="dtrxv"><div id="dtrxv"><ol id="dtrxv"></ol></div></font></video><mark id="dtrxv"></mark><rp id="dtrxv"><font id="dtrxv"><p id="dtrxv"><var id="dtrxv"></var></p></font></rp><th id="dtrxv"><b id="dtrxv"><mark id="dtrxv"><form id="dtrxv"></form></mark></b></th><progress id="dtrxv"></progress><optgroup id="dtrxv"><ruby id="dtrxv"></ruby></optgroup><style id="dtrxv"><nobr id="dtrxv"><small id="dtrxv"><meter id="dtrxv"></meter></small></nobr></style><address id="dtrxv"><p id="dtrxv"></p></address><address id="dtrxv"><legend id="dtrxv"></legend></address><div id="dtrxv"></div><thead id="dtrxv"><big id="dtrxv"><dl id="dtrxv"><strong id="dtrxv"></strong></dl></big></thead><label id="dtrxv"><video id="dtrxv"></video></label><u id="dtrxv"><mark id="dtrxv"></mark></u><style id="dtrxv"><nobr id="dtrxv"><small id="dtrxv"><menuitem id="dtrxv"></menuitem></small></nobr></style><ol id="dtrxv"><style id="dtrxv"></style></ol><sub id="dtrxv"><strike id="dtrxv"><listing id="dtrxv"><small id="dtrxv"></small></listing></strike></sub><font id="dtrxv"><legend id="dtrxv"></legend></font><strike id="dtrxv"><strong id="dtrxv"></strong></strike><span id="dtrxv"></span><pre id="dtrxv"></pre><ruby id="dtrxv"><sub id="dtrxv"></sub></ruby><pre id="dtrxv"><track id="dtrxv"></track></pre><small id="dtrxv"></small><form id="dtrxv"><rp id="dtrxv"></rp></form><output id="dtrxv"><thead id="dtrxv"><thead id="dtrxv"><label id="dtrxv"></label></thead></thead></output><dfn id="dtrxv"></dfn><thead id="dtrxv"><thead id="dtrxv"></thead></thead><dfn id="dtrxv"><output id="dtrxv"><thead id="dtrxv"><thead id="dtrxv"></thead></thead></output></dfn><rp id="dtrxv"><font id="dtrxv"></font></rp><var id="dtrxv"><form id="dtrxv"><rp id="dtrxv"><font id="dtrxv"></font></rp></form></var><listing id="dtrxv"><dfn id="dtrxv"></dfn></listing></div> < </html>