Djangoフレームワーク:

1、ソケットサーバの.py

ソケットのインポート
SK = socket.socket()
sk.bind(( "127.0.0.1"、8000))
sk.listen()
しばらく真:
CONN、ADDR = sk.accept()
データ= conn.recv(1024)
を印刷(データ)
conn.send(B "HTTP / 1.1 200 OKが\ R&LT \ ncontent型である:テキスト/ HTML;のcharset = UTF-8 \ R&LT \ N- \ R&LT \ N-")
conn.send(B「OK <のH1> 「)</ H1の>
はconn.close()
2、コンテンツの.pyに応じて異なるパスを返します
輸入ソケット
SK = socket.socket()
sk.bind(( "127.0.0.1"、8000))
sk.listen()
しばらく真:
CONN、ADDR = sk.accept()
データ= conn.recv(1024)
URL = 。data.decode( "UTF-8")スプリット()[1]#[ 'GET'、 '/ honme /']
conn.send(B「HTTP / 1.1 200 OK \ R \ ncontent型:テキスト/ HTML ;のcharset = UTF-8 \ R \ n \ R \ n ")
であれば、URL == "/ホーム":
RES = "<H1>这是ホーム</ H1>"エンコード(" UTF-8" )
のelif URL == "/インデックス":
RES = "<H1>这是インデックス</ H1>"コード( "UTF-8")。
他:
RES = B "404が見つかりません"
conn.send(RES)
はconn.closeを( )
3。異なる経路に応じて異なるコンテンツ(機能バージョン)を返すの.py
インポートソケット
SK = socket.socket()
sk.bind(( '127.0.0.1'、8000))
sk.listen()
DEF家(URL):
リターン'<H1>这是家庭{} </ H1>'。フォーマット(URL)
DEF指数(URL):
リターン'<H1>这是指数{} </ H1>'形式(URL)。
デフ物品(URL):
リターン「<H1>这是物品{} </ H1> 」.format(URL)
真中:
CONN、ADDR = sk.accept()
データ= conn.recv(1024)
URL = data.decode( 'UTF-8')。スプリット()[1]#[ '' GET 、 '/ honme /']
conn.send(b'HTTP / 1.1 200 OK \ R \ ncontent型:テキスト/ HTML;のcharset = UTF-8 \ R \ n \ R \ n ')
であればURL ==' /ホーム/ ':
RES =自宅(URL)
のelif URL == '/インデックス/':
RES =インデックス(URL)
のelif URL == '/記事/':
Articleこの記事だった= RES(URL)
他:
RES = '404見つかりません'
conn.send(res.encode() 'UTF-8')
はconn.close()
4、異なるコンテンツは、パスの高度なバージョンのバージョンに応じて、関数が戻ります。 .py
輸入ソケット
SK = socket.socket()
sk.bind(( "127.0.0.1"、8000))
sk.listen()
デフホーム(URL):
リターン"<H1>这是ホーム{} </ H1>"。フォーマット(URL)
DEF指数(URL):
リターン"<H1>这是指数{} </ H1>"形式(URL)。
デフ物品(URL):
リターン「<H1>这是物品{} </ H1> 」.format(URL)
リスト1 = [
( "/インデックス/"、インデックス)、
"/ホーム/"、家庭)、
"/記事/"、記事)、
]
真しばらく:
CONN、ADDR = sk.accept ()
データ= conn.recv(1024)
。URL = data.decode( "UTF-8")スプリット()[1]
conn.send(B「HTTP / 1.1 200 OK \ R \ ncontent型:テキスト/ HTML ;文字セット= UTF-8 \ rを\ nは\ rを\ n "は)
FUNC =なし
LIST1で私のために:
もしI [0] == URL:
FUNC = I [1]
ブレーク
FUNC場合:
RES = FUNC(URL)
他:
RESは= "404が見つかりません"
conn.send(res.encode( "UTF-8"))
CONNを.close()
5、返回HTML页面の.py
輸入ソケット
SK = socket.socket()
sk.bind(( "127.0.0.1"、8000))
sk.listen()
デフホーム(URL):
コードするオープン( "home.html"、 "R"、と=」 UTF-8" )Fとして:
戻りf.read()
DEF指数(URL):
リターン""フォーマット(URL)。<H1>这是指数{} </ H1>
記事(URL)DEF:
リターン「<H1 >这是物品{} </ H1>」形式(URL)
LIST1 = [
( "/インデックス/"、インデックス)、
"/ホーム/"、家庭)、
"/記事/"、記事)
]
:真一方
CONN、ADDR = sk.accept()
データ= conn.recv(1024)
。URL = data.decode( "UTF-8")スプリット()[1]
conn.send(B "HTTP / 1。1 200 OK \ R \ ncontent型:テキスト/ HTML;のcharset = UTF-8 \ R \ n \ R \ n ")
FUNC =なし
私LIST1中のため:
もし私[0] == URL:
FUNC = I [1]
ブレーク
の場合、FUNC:
RES = FUNC(URL)
他:
RESが= "404が見つからない"
conn.send(res.encode( "UTF- 8" ))
はconn.close()
6、返回动态页面の.py
インポートソケット
インポート時間
SK = socket.socket()
sk.bind(( "127.0.0.1"、8000))
sk.listen()
DEF時刻(URL):
オープン( "time.html"、 "R"、コードと= "UTF-8")Fとして:
データ= f.read()
今= time.strftime( "%Y-%M-%D%H - :%M:%のS")
データ= data.replace(」 @@ "今、)時間@@
戻りデータ
:DEF家(URL)
"形式(URL)。<H1>这是家庭{} </ H1>リターン"
DEF指数(URL):
リターン" <H1>这是インデックス{} </ H1> "形式(URL)。
デフ物品(URL):
リターン"<H1>这是物品{} </ H1>"形式(URL)。
時刻(URL)DEF:
リターン" <H1>这是時間{} </h1>".format(url)
LIST1 = [
( "/インデックス/"、インデックス)、
"/ホーム/"、家庭)、
( "/記事/"、論文)、
"/時間/"、時間)、
]
真しばらく:
CONN、ADDR = sk.accept()
データ= conn.recv(1024)
URL = data.decode( "UTF- 8 ")スプリット()[1]
conn.send(B" HTTP / 1.1 200 OK \ R \ ncontent型:テキスト/ HTML;のcharset = UTF-8 \ R \ n \ R \ n ")
FUNC =なし
私LIST1中のため:
もし私[0] == URL:
FUNC = I [1]
ブレーク
の場合、FUNC:
RES = FUNC(URL)
他:
RESが= "404が見つからない"
conn.send(res.encode( "UTF- 8" ))
はconn.close()
home.html文件:
<!DOCTYPE HTML> 
<HTML LANG = "EN">
<HEAD>
<メタ文字コード= "UTF-8">
<タイトル>タイトル</ TITLE>
<リンクのrel = "スタイルシート"のhref = "ブートストラップ-3.3.7- DIST / CSS / bootstrap.min.css ">
<リンクのrel ="スタイルシート"のhref = "フォント素晴らしい-4.7.0 / CSS /フォントawesome.min.css">
<スクリプトSRC =" https://でCDN .bootcss.com / jqueryの/ 3.4.1 / jquery.min.js "> </ SCRIPT>
<スクリプトSRC ="ブートストラップ-3.3.7-distの/ JS / bootstrap.js "> </ SCRIPT>
</ head>の
<身体>
<NAVクラス= "ナビゲーションバーナビゲーションバー-デフォルト">
<DIV CLASS = "コンテナ流体">
<!-ブランドやトグルGETグループ化された優れたモバイルディスプレイ用- >
<divのクラス=「ナビゲーションバー、ヘッダー」>
<ボタンタイプ= "ボタン"クラス= "ナビゲーションバー、トグルが崩壊"データトグル= "崩壊"
データターゲット= "#1、BS-例えば、ナビゲーションバー-崩壊-1" ARIA拡張= "偽">
<スパンクラス= "SR-のみ">トグルナビゲーション</ span>の
<スパンクラス= "アイコンバー"> </ span>の
<スパンクラス= "アイコンバー"> </ span>の
<スパンクラス= "アイコンバー"> </ span>を
</ボタン>
<a class="navbar-brand" href="#">ブランド</a>の
</ div>
<! -切り替えるためのナビゲーションリンク、フォーム、およびその他のコンテンツを収集- >
<DIV CLASS = "崩壊ナビゲーションバー、崩壊" ID = "BS-例えば、ナビゲーションバー-崩壊-1">
<ULクラス= "NAVナビゲーションバー-NAV">
<LIクラス= "アクティブ"> <a href="#">リンク<スパンクラス= "SR-のみ">(現在の)</スパン> </a>の</ LI>
<LI> <A HREF =」 # ">リンクする</a>ます。</ li>
<LIクラス="ドロップダウン">
<A HREF =" #」クラス= "ドロップダウン・トグル"データ・トグル= "ドロップダウン"ロール= "ボタン" ARIA-haspopup = "真"
のアリア展開= "偽">ドロップダウン<スパンクラス= "キャレット"> </ span>の</a>の
<ULクラス= "ドロップダウン・メニュー">
<LI> <a href="#">アクション</a>の</ LI>
<LI><a href="#">別行動する</a>ます。</ li>
<LI> <a href="#">何か他にここ</a>を</ LI>
<LIの役割= "区切り"クラス=」分周器"> </ LI>
<LI> <a href="#">離しリンクする</a> </ LI>
<LI役割= "セパレータ"クラス= "デバイダ"> </ LI>
<LI> <a href="#">つより分離リンク</a>の</ LI>
</ UL>
</ LI>
</ UL>
<フォームクラス= "ナビゲーションバー状のナビゲーションバー左">
<DIV CLASS = "フォームグループ">
の<input type = "テキスト"クラス= "フォームコントロール"プレースホルダ= "検索">
</ div>
<ボタンタイプ= "提出"クラス= "BTN BTN-デフォルト">提出</ボタン>
</ FORM>
<ulのクラス= "NAVナビゲーションバー-NAVナビゲーションバー右">
<LI> <a href="#">リンクする</a>ます。</ li>
<LIクラス= "ドロップダウン">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">ドロップダウン<スパンクラス= "キャレット"> </ span>の</a>の
<ULクラス= "ドロップダウン・メニュー">
<LI> <a href="#">アクション</a>に</ LI>
<LI> < A HREF = "#">別行動する</a>ます。</ li>
他の<LI> <a href="#">何かここ</a>を</ LI>
<LIの役割= "区切り"クラス=」分周器"> </ LI>
<LI> <a href="#">別居リンクする</a>ます。</ li>
</ ulの>
</ LI>
</ UL>
</ div> <! - /.navbar-collapse - >
</ div> <! - /.container-fluid - >
</ NAV>
<! -ボタントリガーモーダル- >
<ボタンタイプ= "ボタン"クラス= "BTN BTNプライマリBTN-SM"データトグル= "モーダル"データターゲット= "#myModal">
添加
</ボタン>

<テーブルクラス= "テーブルのテーブルボーダーテーブルホバーテーブル縮合">
<THEAD>
<TRクラス="アクティブ">
<TH>选择</番目>
<TH>序号</番目>
<TH>姓名</番目>
<TH>性别</番目>
<TH>爱好< /目>
<目>操作</目>
</ TR>
</ THEAD>
<TBODY>
<TRクラス= "危険性">
<TD>の<input type = "チェックボックス"> </ TD>
<TD> 1 </ TD>
<TD>宝元</ TD>
<TD>不详</ TD>
<TD>钻</ TD>
<TD>
<ボタン>删除</ボタン>
</ TD>
</ TR>
<TR>
<TD> <input type = "チェックボックス"> </ TD>
<TD> 2 </ TD>
<TD>和尚</ TD>
<TD>男</ TD>
<TD>合气道</ TD>
<TD>
<ボタン>删除</ボタン>
</ TD>
</ TR>
</ TBODY>
</ TABLE>
<! -モーダル- >
<divのクラス= "モーダルフェード" ID = "myModal"でtabindex = " - 1"役割= "ダイアログ" ARIA-labelledbyの= "myModalLabel">
<DIV CLASS = "モーダルダイアログ"ロール= "文書">
<DIV CLASS = "モーダル・コンテンツ">
<DIV CLASS = "モーダル・ヘッダ">
<ボタンタイプ= "ボタン"クラス= "クローズ"データ・解任= "モーダル" ARIAラベル= "閉じる"> <スパンARIA-隠さ= "真の">&回; < /スパン>
</ボタン>
<H4クラス= "モーダルタイトル" ID = "myModalLabel">添加数据</ H4>
</ div>
<DIV CLASS = "モーダル体">
<DIV CLASS = "パネルパネル-デフォルト">
<DIV CLASS ="パネル体">
<フォームクラス="フォーム水平">
<DIV CLASS ="フォームグループ「>
<= "inputEmail3"クラスのラベル= "COL-SM-2コントロールラベル">姓名</ label>は
<DIV CLASS = "COL-SM-10">
<INPUT TYPE = "テキスト"クラス= "フォームコントロール" ID = "inputEmail3"プレースホルダ= "姓名">
<スパンクラス= "ヘルプブロック"> </スパン>
</ div>
</ div>
<DIVクラス= "フォームグループ">
<= "セックス"クラスのラベル= "COL-SM-2コントロールラベル">性别</ label>は
<DIV CLASS = "COL-SM-10">
<SELECT NAME = "" ID =「セックス」クラス=「フォームコントロール」>
<オプション値= "男">男</オプション>
<オプション値= "女">女</オプション>
<オプション値= "不详">不详</オプション>
</ select>の
</ div>
</ div>
<divのクラス= "フォームグループ">
<="趣味"クラス= "COL-SM-2のラベルコントロールラベル">爱好</ label>は
<DIV CLASS =" COL-SM-10 ">
の<input type =" text」のクラス= "フォームコントロール" ID = "趣味"プレースホルダ= "爱好">
<スパンクラス= "ヘルプ・ブロック"> </ span>を
</ DIV>
</ DIV>
</ FORM>
</ div>
</ DIV>
</ DIV>
<DIV CLASS = "モーダル・フッタ">
<ボタンタイプ= "ボタン"クラス= "BTN BTN-デフォルトの"データ・解任= "モーダル">关闭</ button>の
<ボタンタイプ= >保存</ button>の"保存" "ボタン"クラス= "BTN BTN-主" ID =
</ div>
</ div>
</ div>
</ div>
<スクリプト>
$( '#保存')。クリック(関数(){
$( '#myModal')モーダル( '非表示')。
//数据添加到表格中
})
</ SCRIPT>
</ body>
</ HTML>
time.html文件。
<!DOCTYPE HTML> 
<HTML LANG = "EN">
<HEAD>
<メタ文字コード= "UTF-8">
<タイトル>タイトル</ TITLE>
</ HEAD>
<BODY>
<H1>当前的时间是:@ @time @@ </ H1>
</ BODY>
</ HTML>

おすすめ

転載: www.cnblogs.com/zhang-da/p/12023671.html