参考アドレス
http://www.tornadoweb.org/en/stable/guide/templates.html?highlight=render#ui-modules
すべての上部にこのナビゲーションバーがありますosc のページでは、tornado の UI モジュールを使用してナビゲーション バーを実装し、コードの再利用を実現できます
tornado テンプレートの uimodules を含む my_uimodules.py を追加し、Header.html を追加しました。ナビゲーション バーの HTML コード。単純な HTML ページ page2.html を返すために、page2.py が追加されます。
パス "/" にアクセスしたときの効果
ナビゲーション リンクをクリックします。 「ページ 1」の効果
ナビゲーション リンク「ページ 2」をクリックした場合の効果
my_uimodules.py
import tornado.webclass HeaderBar(tornado.web.UIModule): def render(self, location): return self.render_string("header.html", location=location)class HeaderBar2(tornado.web.UIModule): def render(self, location): return self.render_string("header.html", location=location)
すべてのテンプレート ドライバーは tornado.web.UIModule から継承され、その後call render_string 指定したテンプレートとパラメータを呼び出します。ここではトップ ナビゲーション バーとサイド ナビゲーション バーを記述できます。ここでは、パラメータの場所を受け入れます。これは、ナビゲーション バーのページの説明として使用されます。このテンプレート ドライバーは header.html を返し、それに場所を渡します
header.html <div> <a href="/">主页</a> <a href="/page1">页面1</a> <a href="/page2">页面2</a> <span>你现在处于页面 {{ location }}</span></div>
このテンプレート ファイルは、ページの上部のナビゲーション バーとして機能し、現在のページは location パラメーターを通じて取得されます。
main.py
import osimport tornado.httpserverimport tornado.ioloopimport tornado.webimport my_uimodulesfrom handlers.home import HomeHandlerfrom handlers.page1 import Page1Handlerfrom handlers.page2 import Page2Handlerclass PageNotFoundHandler(tornado.web.RequestHandler): def get(self): return self.write_error(404)class Application(tornado.web.Application): def __init__(self): handlers = [ (r"/", tornado.web.RedirectHandler, {"url": "/home"}), (r"/home", HomeHandler), (r"/page1", Page1Handler), (r"/page2", Page2Handler), (r".*", PageNotFoundHandler), ] settings = dict( static_path= os.path.join(os.path.dirname(__file__), "static"), template_path=os.path.join(os.path.dirname(__file__), "templates"), ui_modules=my_uimodules, ) tornado.web.Application.__init__(self, handlers, **settings)if __name__ == "__main__": port = 8899 application = Application() http_server = tornado.httpserver.HTTPServer(application, xheaders=True) http_server.listen(port) print('Listen on http://localhost:{0}'.format(port)) print('Listen on http://localhost:{0}/page1'.format(port)) print('Listen on http://localhost:{0}/page2'.format(port)) tornado.ioloop.IOLoop.instance().start()
tornado が設定を初期化するときに、カスタム テンプレートが配置されているモジュールが設定で指定されます
"ui_modules=my_uimodules"
tornado がテンプレートを処理しているときに、次のような場合に発生します。ステートメントを実行すると、xxxx テンプレート ドライバーを見つけるために設定した ui_modules モジュールに移動します
{% module xxxx %}
ページ コード
home.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>主页</title></head><body> {% module HeaderBar("主页") %} <h1 id="这是主页">这是主页</h1> <script src="/static/js/home.js"></script></body></html>
page1.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>{{ argu1 }}</title></head><body> {% module HeaderBar("页面1") %} <h1 id="这是Page">这是Page1</h1> <ul> {% for i in argu2 %} <li>{{ i }}</li> {% end %} </ul></body></html>
page2.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Page2</title></head><body> {% module HeaderBar("页面2") %} <h1 id="这是Page">这是Page2</h1></body></html>
全ページA
{% module HeaderBar("Page 2") %}がテンプレート本体の最初の行に追加されます。前述したように、tornado はレンダー テンプレートを処理するときにこの形式のリクエストに遭遇すると、次のヘッダーバーを検索します。 ui_modules で指定されたモジュール my_uimodules を最初のパラメータとして渡し、HeaderBar はこのパラメータを header.html の場所として渡します このように、各ページの上部にあるナビゲーション バーは同じです。違いが反映されます。
コード git アドレス
http://git.oschina.net/donggen/tornado-test

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

メモ帳++7.3.1
使いやすく無料のコードエディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版
便利なJavaScript開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
