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
O-w6EwgFv#p?|%Z*188^v
literal 0
HcmV?d00001
diff --git a/stage1/demo_first_task_flask/templates/base.html b/stage1/demo_first_task_flask/templates/base.html
new file mode 100644
index 0000000..a0a6a14
--- /dev/null
+++ b/stage1/demo_first_task_flask/templates/base.html
@@ -0,0 +1,15 @@
+
+
+
+ step3
+
+
+ {% block one %}
+ {# you should add things here in step3.html #}
+ {% endblock %}
+
+ {% block two %}
+ {# you should also add things here in step3.html #}
+ {% endblock %}
+
+
diff --git a/stage1/demo_first_task_flask/templates/step2.html b/stage1/demo_first_task_flask/templates/step2.html
new file mode 100644
index 0000000..293d69d
--- /dev/null
+++ b/stage1/demo_first_task_flask/templates/step2.html
@@ -0,0 +1,18 @@
+
+
+
+
+ step2
+
+
+
+
+
+ Hello, World!
+ {# use url_for to get resource #}
+
+
+ click
+
+
+
diff --git a/stage1/demo_first_task_flask/templates/step3.html b/stage1/demo_first_task_flask/templates/step3.html
new file mode 100644
index 0000000..e17fef3
--- /dev/null
+++ b/stage1/demo_first_task_flask/templates/step3.html
@@ -0,0 +1,20 @@
+{% extends "base.html" %}
+
+{% block one %}
+ Hello, {{ username }}, You are {{ tag }}!
+{% endblock %}
+
+
+{% block two %}
+ {% for elm in tag_list %}
+ {% if elm == tag %}
+ {# if the tag exits in tag_list, then mark it as red color #}
+ {{ elm }}
+ {% else %}
+ {{ elm }}
+ {% endif %}
+ {% endfor %}
+ {% if tag == 'other' %}
+ other
+ {% endif %}
+{% endblock %}
From 204ecf2465fa1608e7ef08cc97dda5ad6efd748d Mon Sep 17 00:00:00 2001
From: Githuberzhang
Date: Sun, 27 Nov 2016 22:13:01 +0800
Subject: [PATCH 4/8] Update README.txt
---
stage1/demo_first_task_flask/README.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/stage1/demo_first_task_flask/README.txt b/stage1/demo_first_task_flask/README.txt
index 6e46188..1efd379 100644
--- a/stage1/demo_first_task_flask/README.txt
+++ b/stage1/demo_first_task_flask/README.txt
@@ -10,3 +10,5 @@
5.url一律英文,群等级如大腿用拼音datui代替。
6.不会的地方先看我源码,再解决不了的话回头看文档,再解决不了的话google/stackoverflow/baidu
7.写的比较仓促,有问题的地方欢迎交流。
+
+ 张铭 11/27/2016
From 7e61f252e4527320ac2dbe9aa371f5012e8ad431 Mon Sep 17 00:00:00 2001
From: Githuberzhang
Date: Mon, 28 Nov 2016 12:35:52 +0800
Subject: [PATCH 5/8] Update demo.py
---
stage1/demo_first_task_flask/demo.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/stage1/demo_first_task_flask/demo.py b/stage1/demo_first_task_flask/demo.py
index 7162055..6b5689c 100644
--- a/stage1/demo_first_task_flask/demo.py
+++ b/stage1/demo_first_task_flask/demo.py
@@ -9,6 +9,8 @@
:license: BSD, see LICENSE_FILE for more details.
"""
+# Env: Ubuntu Linux 16.04 & Python 3.5.2
+
from flask import Flask
from flask import url_for, render_template
From 4db559f1879557fcd091b884c92fe7f82ce85a33 Mon Sep 17 00:00:00 2001
From: Githuberzhang
Date: Mon, 28 Nov 2016 12:37:05 +0800
Subject: [PATCH 6/8] Update README.txt
---
stage1/demo_first_task_flask/README.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/stage1/demo_first_task_flask/README.txt b/stage1/demo_first_task_flask/README.txt
index 1efd379..1660b44 100644
--- a/stage1/demo_first_task_flask/README.txt
+++ b/stage1/demo_first_task_flask/README.txt
@@ -1,5 +1,7 @@
你们的辣鸡学长应部长juju的要求写了个demo,供还不会的或者有问题的童鞋参考
+开发环境:Ubuntu Linux 16.04 & Python 3.5.2
+
1.需要html及css一点点的基础知识
2.static整个目录配合第二个任务使用,放置js,css,jpg等静态文件。这里文件比较少就不设置二级目录了。
3.templates目录放置html文件,其中step2.html为任务二所需,base.html,step3.html为任务三所需。
From 778c960b64f21abdde33239de95b0bdb7c084a42 Mon Sep 17 00:00:00 2001
From: zym013579 <15355219072@189.cn>
Date: Thu, 1 Dec 2016 01:10:44 +0800
Subject: [PATCH 7/8] zhuyiming
---
stage1/demo_first_task_flask/README.txt | 16 ---
stage1/demo_first_task_flask/__init__.py | 12 ---
stage1/demo_first_task_flask/demo.py | 47 --------
stage1/demo_first_task_flask/requirememts.txt | 100 ------------------
stage1/demo_first_task_flask/static/alert.js | 4 -
stage1/demo_first_task_flask/static/style.css | 2 -
.../static/use_linux.jpg | Bin 10467 -> 0 bytes
.../demo_first_task_flask/templates/base.html | 15 ---
.../templates/step2.html | 18 ----
.../templates/step3.html | 20 ----
10 files changed, 234 deletions(-)
delete mode 100644 stage1/demo_first_task_flask/README.txt
delete mode 100644 stage1/demo_first_task_flask/__init__.py
delete mode 100644 stage1/demo_first_task_flask/demo.py
delete mode 100644 stage1/demo_first_task_flask/requirememts.txt
delete mode 100644 stage1/demo_first_task_flask/static/alert.js
delete mode 100644 stage1/demo_first_task_flask/static/style.css
delete mode 100644 stage1/demo_first_task_flask/static/use_linux.jpg
delete mode 100644 stage1/demo_first_task_flask/templates/base.html
delete mode 100644 stage1/demo_first_task_flask/templates/step2.html
delete mode 100644 stage1/demo_first_task_flask/templates/step3.html
diff --git a/stage1/demo_first_task_flask/README.txt b/stage1/demo_first_task_flask/README.txt
deleted file mode 100644
index 1660b44..0000000
--- a/stage1/demo_first_task_flask/README.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-你们的辣鸡学长应部长juju的要求写了个demo,供还不会的或者有问题的童鞋参考
-
-开发环境:Ubuntu Linux 16.04 & Python 3.5.2
-
-1.需要html及css一点点的基础知识
-2.static整个目录配合第二个任务使用,放置js,css,jpg等静态文件。这里文件比较少就不设置二级目录了。
-3.templates目录放置html文件,其中step2.html为任务二所需,base.html,step3.html为任务三所需。
-使用jinja2模板引擎(需要知道jinja2基础语法)。
-2.__init__.py为设置此demo_first_task_flask为一个python的包(需要知道python的包与模块的概念)。
-3.app.py为应用脚本。运行方式(相信大家都知道):Linux/Windows python3 : $ python3 demo.py
-4.requirements.txt中写这个demo并不需要这么多,我里面东西比较多罢了,只要你是pip3安装的问题都不大。
-5.url一律英文,群等级如大腿用拼音datui代替。
-6.不会的地方先看我源码,再解决不了的话回头看文档,再解决不了的话google/stackoverflow/baidu
-7.写的比较仓促,有问题的地方欢迎交流。
-
- 张铭 11/27/2016
diff --git a/stage1/demo_first_task_flask/__init__.py b/stage1/demo_first_task_flask/__init__.py
deleted file mode 100644
index 84b34f8..0000000
--- a/stage1/demo_first_task_flask/__init__.py
+++ /dev/null
@@ -1,12 +0,0 @@
-## -*- coding: utf-8 -*-
-"""
- demo_first_task_flask.app
- ~~~~~~~~~~~~~~
-
- A brief demo for freshmen @Sicun Studio for first TASK with flask.
-
- :copyright: (c) 2016 by ZhangMing.
- :license: BSD, see LICENSE_FILE for more details.
-"""
-
-from demo_first_task_flask.demo import app
diff --git a/stage1/demo_first_task_flask/demo.py b/stage1/demo_first_task_flask/demo.py
deleted file mode 100644
index 6b5689c..0000000
--- a/stage1/demo_first_task_flask/demo.py
+++ /dev/null
@@ -1,47 +0,0 @@
-## -*- coding: utf-8 -*-
-"""
- demo_first_task_flask.demo
- ~~~~~~~~~~~~~~
-
- A brief demo for freshmen @Sicun Studio for first TASK with flask.
-
- :copyright: (c) 2016 by ZhangMing.
- :license: BSD, see LICENSE_FILE for more details.
-"""
-
-# Env: Ubuntu Linux 16.04 & Python 3.5.2
-
-from flask import Flask
-from flask import url_for, render_template
-
-
-app = Flask('__name__')
-
-@app.route('/')
-def index():
- return "input urls for pages like:\n\n\
- 127.0.0.1:5000/step1 \n\n\
- 127.0.0.1:5000/step2 \n\n\
- 127.0.0.1:5000/step3 like /step3/dalao/Sicun "
-
-@app.route('/step1/')
-def step1():
- return "Hello, World!"
-
-@app.route('/step2/')
-def step2():
- return render_template('step2.html')
-@app.route('/step3/')
-def tmp_step3():
- return "Please add & in url like /step3/dalao/Guo "
-@app.route('/step3///')
-def step3(tag, username):
- tag_list = ['xianyu', 'juju', 'dalao', 'datui', 'youtiao', 'mengxin']
- # judge if in the tag_list above
- for list in tag_list:
- if list == tag:
- return render_template('step3.html',tag = list, username = username, tag_list = tag_list)
- return render_template('step3.html',tag = 'other', username = username, tag_list = tag_list)
-
-if __name__ == '__main__':
- app.run(debug=True)
diff --git a/stage1/demo_first_task_flask/requirememts.txt b/stage1/demo_first_task_flask/requirememts.txt
deleted file mode 100644
index 2108d7f..0000000
--- a/stage1/demo_first_task_flask/requirememts.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-aiohttp==1.0.3
-alembic==0.8.8
-apt-xapian-index==0.47
-apturl==0.5.2
-async-timeout==1.0.0
-beautifulsoup4==4.4.1
-bleach==1.5.0
-blinker==1.3
-Brlapi==0.6.4
-chardet==2.3.0
-checkbox-support==0.22
-click==6.6
-colorama==0.3.7
-command-not-found==0.3
-config==0.3.9
-cryptography==1.2.3
-defer==1.0.6
-docopt==0.6.2
-dominate==2.2.1
-feedparser==5.1.3
-Flask==0.11.1
-Flask-Bootstrap==3.3.7.0
-Flask-HTTPAuth==3.2.1
-Flask-Login==0.4.0
-Flask-Mail==0.9.1
-Flask-Migrate==2.0.0
-Flask-Moment==0.5.1
-Flask-PageDown==0.2.2
-Flask-Script==2.0.5
-Flask-SQLAlchemy==2.1
-Flask-WTF==0.13.1
-guacamole==0.9.2
-html5lib==0.999
-httplib2==0.9.1
-idna==2.0
-itsdangerous==0.24
-Jinja2==2.8
-language-selector==0.1
-louis==2.6.4
-lxml==3.5.0
-Mako==1.0.3
-Markdown==2.6.7
-MarkupSafe==0.23
-multidict==2.1.2
-mysqlclient==1.3.7
-oauthlib==1.0.3
-onboard==1.2.0
-oneconf==0.3.9
-padme==1.1.1
-pexpect==4.0.1
-Pillow==3.1.2
-piston-mini-client==0.7.5
-plainbox==0.25
-prettytable==0.7.2
-ptyprocess==0.5
-pyasn1==0.1.9
-pycups==1.9.73
-pycurl==7.43.0
-pygobject==3.20.0
-PyJWT==1.3.0
-PyMySQL==0.7.9
-pyparsing==2.0.3
-python-apt==1.1.0b1
-python-debian==0.1.27
-python-editor==1.0.1
-python-systemd==231
-pyxdg==0.25
-redis==2.10.5
-reportlab==3.3.0
-requests==2.9.1
-sessioninstaller==0.0.0
-six==1.10.0
-software-center-aptd-plugins==0.0.0
-SQLAlchemy==1.1.0
-system-service==0.3
-ubuntu-drivers-common==0.0.0
-ufw==0.35
-unattended-upgrades==0.1
-unity-scope-calculator==0.1
-unity-scope-chromiumbookmarks==0.1
-unity-scope-colourlovers==0.1
-unity-scope-devhelp==0.1
-unity-scope-firefoxbookmarks==0.1
-unity-scope-gdrive==0.7
-unity-scope-manpages==0.1
-unity-scope-openclipart==0.1
-unity-scope-texdoc==0.1
-unity-scope-tomboy==0.1
-unity-scope-virtualbox==0.1
-unity-scope-yelp==0.1
-unity-scope-zotero==0.1
-urllib3==1.13.1
-usb-creator==0.3.0
-virtualenv==15.1.0
-visitor==0.1.3
-Werkzeug==0.11.11
-WTForms==2.1
-xdiagnose==3.8.4.1
-xkit==0.0.0
-XlsxWriter==0.7.3
diff --git a/stage1/demo_first_task_flask/static/alert.js b/stage1/demo_first_task_flask/static/alert.js
deleted file mode 100644
index c84c314..0000000
--- a/stage1/demo_first_task_flask/static/alert.js
+++ /dev/null
@@ -1,4 +0,0 @@
-function demo()
-{
-alert("Please throw Windows!");
-}
diff --git a/stage1/demo_first_task_flask/static/style.css b/stage1/demo_first_task_flask/static/style.css
deleted file mode 100644
index 4491ffe..0000000
--- a/stage1/demo_first_task_flask/static/style.css
+++ /dev/null
@@ -1,2 +0,0 @@
-body { font-family: sans-serif; background: #eee; }
-h1 { color: #377BA8; font-family: 'Georgia', serif; margin: 0; border-bottom: 2px solid #eee;}
diff --git a/stage1/demo_first_task_flask/static/use_linux.jpg b/stage1/demo_first_task_flask/static/use_linux.jpg
deleted file mode 100644
index 656a133696126c1cae96cb8a3ae5afc4bc9319e6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 10467
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
O-w6EwgFv#p?|%Z*188^v
diff --git a/stage1/demo_first_task_flask/templates/base.html b/stage1/demo_first_task_flask/templates/base.html
deleted file mode 100644
index a0a6a14..0000000
--- a/stage1/demo_first_task_flask/templates/base.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- step3
-
-
- {% block one %}
- {# you should add things here in step3.html #}
- {% endblock %}
-
- {% block two %}
- {# you should also add things here in step3.html #}
- {% endblock %}
-
-
diff --git a/stage1/demo_first_task_flask/templates/step2.html b/stage1/demo_first_task_flask/templates/step2.html
deleted file mode 100644
index 293d69d..0000000
--- a/stage1/demo_first_task_flask/templates/step2.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- step2
-
-
-
-
-
- Hello, World!
- {# use url_for to get resource #}
-
-
- click
-
-
-
diff --git a/stage1/demo_first_task_flask/templates/step3.html b/stage1/demo_first_task_flask/templates/step3.html
deleted file mode 100644
index e17fef3..0000000
--- a/stage1/demo_first_task_flask/templates/step3.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{% extends "base.html" %}
-
-{% block one %}
- Hello, {{ username }}, You are {{ tag }}!
-{% endblock %}
-
-
-{% block two %}
- {% for elm in tag_list %}
- {% if elm == tag %}
- {# if the tag exits in tag_list, then mark it as red color #}
- {{ elm }}
- {% else %}
- {{ elm }}
- {% endif %}
- {% endfor %}
- {% if tag == 'other' %}
- other
- {% endif %}
-{% endblock %}
From 6b39259dd11d0f18a679ea9551dd481c977a2516 Mon Sep 17 00:00:00 2001
From: zym013579 <15355219072@189.cn>
Date: Thu, 1 Dec 2016 01:12:04 +0800
Subject: [PATCH 8/8] zhuyiming
---
stage1/zhuyiming/README.txt | 3 +++
stage1/zhuyiming/run.py | 32 ++++++++++++++++++++++++++
stage1/zhuyiming/static/alert.js | 4 ++++
stage1/zhuyiming/static/study.jpg | Bin 0 -> 2350 bytes
stage1/zhuyiming/static/style.css | 2 ++
stage1/zhuyiming/templates/step2.html | 18 +++++++++++++++
stage1/zhuyiming/templates/step3.html | 20 ++++++++++++++++
7 files changed, 79 insertions(+)
create mode 100644 stage1/zhuyiming/README.txt
create mode 100644 stage1/zhuyiming/run.py
create mode 100644 stage1/zhuyiming/static/alert.js
create mode 100644 stage1/zhuyiming/static/study.jpg
create mode 100644 stage1/zhuyiming/static/style.css
create mode 100644 stage1/zhuyiming/templates/step2.html
create mode 100644 stage1/zhuyiming/templates/step3.html
diff --git a/stage1/zhuyiming/README.txt b/stage1/zhuyiming/README.txt
new file mode 100644
index 0000000..e265c7b
--- /dev/null
+++ b/stage1/zhuyiming/README.txt
@@ -0,0 +1,3 @@
+主要参照模板写的
+
+(我好菜啊
\ No newline at end of file
diff --git a/stage1/zhuyiming/run.py b/stage1/zhuyiming/run.py
new file mode 100644
index 0000000..d49f5d1
--- /dev/null
+++ b/stage1/zhuyiming/run.py
@@ -0,0 +1,32 @@
+from flask import Flask
+from flask import url_for, render_template
+
+app = Flask(__name__)
+
+@app.route('/')
+@app.route('/index')
+def index():
+ return "input urls for pages like \n\n\
+ 127.0.0.1:5000/step1 \n\n\
+ 127.0.0.1:5000/step2 \n\n\
+ 127.0.0.1:5000/step3/[2]/[1] "
+
+@app.route('/step1/')
+def step1():
+ return "Hello, World!"
+
+@app.route('/step2/')
+def step2():
+ return render_template('step2.html')
+@app.route('/step3///')
+def step3(tag, name):
+ taglist = ('xianyu', 'juju', 'dalao', 'datui', 'youtiao', 'mengxin')
+ aa = False
+ for tmp in taglist:
+ if tmp == tag:
+ aa = True
+ if not aa:
+ tag = 'other'
+ return render_template('step3.html', tag = tag, username = name, tag_list = taglist)
+
+app.run(debug = True)
diff --git a/stage1/zhuyiming/static/alert.js b/stage1/zhuyiming/static/alert.js
new file mode 100644
index 0000000..a68830a
--- /dev/null
+++ b/stage1/zhuyiming/static/alert.js
@@ -0,0 +1,4 @@
+function study()
+{
+alert("No Study No Friendship!");
+}
diff --git a/stage1/zhuyiming/static/study.jpg b/stage1/zhuyiming/static/study.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1f1a0921cf4d04630b4afb6d34631d9fa87461b0
GIT binary patch
literal 2350
zcmb7Dc{JPE9{)vad35GkVlCAcRXb5zEP0b!25r?=t%$UiI+_w&?4paJ*4mrco_#Q=
zorFYD1dS>hu{6(4scOd-MJDa*nfLyk&pr2?&%O8a`Fy|U-gDWL?Ee6QR_2!G00;yC
zAkF~Tb3mS1sP|m}u(VVL_y7Rl1t1_U0L)=-oXMAd;+yO{ghBt~pdb7J7sv5K!{z|^
zzkTnxli$6;Kl~6)EnTRV7F1LJtmY-Cjy6;W0&oE!uK%hsIV!Fn{D%QxPXm{M)52hJ
zu+V97G4V6fr_Wx5t6Wr2xM&MC)`Z`7^z=YEA`$mO@el9$KMO=4pESolD=4Y1srGu%
zK_!;=|WqBrzx%z-)`V9aPxppoaEx=9BK=4n&1L)o#5jF
zxVgUzIE#})+`{L0v}{Gd=YN6U@lS);i7My>K9rN!b}M2}0es)WU_j$vd4HF5abDxu
zcav0uMy#=2164kql@&=5UbOPDmFQF2#Z?&N8ITb6X4C+mdF|WIez6w`{;y2x%WxWb&!cyKTl+p
zTOj(Fi5lpK=#R5>#iqeeTKF8FBfSa)%1REk$V|ist0iDx*R>3_iWW*AdcrEBIF8?&*vd34vKjEH(xdN>5&%`P|`D2PZ*@%(u*xIrK~Jy)KN
zUu@Wi_tS$+sM&s;h#QfPG1Dnm#C;;o(5_~=Jw|S8dnBjmGBML8Sr7P^$ZXG$2qR~g
zoJv`vV{bJg0rj{daVY>A3bGoQ2bV2pLWy>|#bN
zqS|I1`jlD8cT=e`I>mX$WQFJMyPyZeLVs7_)gvVW*@O%SXOF6ho|U7
zt7aMK;=E;EyU~+NkxDy^FG<%hL6m36TLD=5a&;<(A?G6J0+w6MPTK$g9VX1{%JOk0
zL*}I-RCOR@=J#BMD?&4c8Wu8JLxJ@yGogw7Dss)ORC)67Cz5X1^Q}>?{vWG1kf@)GFJol-z~@fS?f@P_0a=_a4h5S#SKhwL{#Wa#yIR
z$uB4Q);`~)_QA5Rvkc$cob$<@3fKtfGq$&N^;vD-qPmaq7n2T0TuSvBuT?AI+B>YY
z`kuKtx6FX;PTi|>6Y;BSCFTCn+Os-e1)y@|>>w~k(4}^915FKcW^J)UO>C1KX|mvReLJT2^#bM%MG
zDl4W(kR*(0xkH2R%YG{E4~M4CQl)TjSOMWv2_pG9YceesyQeg{pii@0pJTM97cETq
zIy451JK^Fj(WEcPO0?q?&L4tHe|II=LN|nV~M)9c-)UbQVzCNr8?2_vQrDQaCo!z9}NEWTYB)e8Xd`yoMl%pg_|NN*fS$i
z;8D{u_1ez%mL@#ud9|XVF1PS$KMbfsL!Q_4u9;46xN0}><K};A723=~o#1UBO#4HA_~k?hiiL5#J@RaPOR-b=MG2T^81s
zW6fP%)e@}K2ViOOp$Wn{*8K#Ja<%vG$rUp9XB<0R=^b|DaFu1r`&(J{+0yF=C2AR6
z0|3C!t94wRalD{E=3QPuP?ffcS3sE=$Sf>Pta`mdiYr5u(=)L(#T~lNhe}>ez4Fz0s*hNP_4!T|3l$1FFzPUtgqg<@*HSdwvH|mco-A&2DhC
zB`!JNiFlN2?~e%|tz(QFSZ^EWv4K*GSw;8t)xH)xXI~Tq%ivy-M;9OkkL@kg4rvN1
zG&@{^ysKCIM*2G)VN`JZscHzMCU{!X09IekU>qqNXm704&1t-O60D>KM=*=FRgoR{
zh#dzvMgnWaEXw`uT$3fr39G4BZEaKbO78=}KaEvJf6iK^TrLaOc(aC@z{OpO5?>AK
tAH^k==A=uxKDHi}SWDeO6^+T7LY<0bR7Srk1lL^S2RI-8?*YVS{0Us1B|`uJ
literal 0
HcmV?d00001
diff --git a/stage1/zhuyiming/static/style.css b/stage1/zhuyiming/static/style.css
new file mode 100644
index 0000000..4491ffe
--- /dev/null
+++ b/stage1/zhuyiming/static/style.css
@@ -0,0 +1,2 @@
+body { font-family: sans-serif; background: #eee; }
+h1 { color: #377BA8; font-family: 'Georgia', serif; margin: 0; border-bottom: 2px solid #eee;}
diff --git a/stage1/zhuyiming/templates/step2.html b/stage1/zhuyiming/templates/step2.html
new file mode 100644
index 0000000..8981926
--- /dev/null
+++ b/stage1/zhuyiming/templates/step2.html
@@ -0,0 +1,18 @@
+
+
+
+
+ step2
+
+
+
+
+
+ Let's study!
+ {# use url_for to get resource #}
+
+
+ study now
+
+
+
diff --git a/stage1/zhuyiming/templates/step3.html b/stage1/zhuyiming/templates/step3.html
new file mode 100644
index 0000000..86632df
--- /dev/null
+++ b/stage1/zhuyiming/templates/step3.html
@@ -0,0 +1,20 @@
+{% block one %}
+ Hello, {{ username }}, You are {{ tag }}!
+{% endblock %}
+
+
+{% block two %}
+ {% for elm in tag_list %}
+ {% if elm == tag %}
+ {# if the tag exits in tag_list, then mark it as red color #}
+ {{ elm }}
+ {% else %}
+ {{ elm }}
+ {% endif %}
+ {% endfor %}
+ {% if tag == 'other' %}
+ other
+ {% else %}
+ other
+ {% endif %}
+{% endblock %}