diff --git a/DevelopmentRecord/第一次开发会议记录.md b/DevelopmentRecord/第一次开发会议记录.md
index 97a16ad..b7f4afa 100644
--- a/DevelopmentRecord/第一次开发会议记录.md
+++ b/DevelopmentRecord/第一次开发会议记录.md
@@ -51,12 +51,16 @@
3. 使用`&0001`表示已经完成的功能
-4. 使用`2023/4/27/12:00`表示标记的事件的时间
+4. 使用*斜体*标注已经完成的既定功能
-5. 使用`v0.0.1.alpha0.0.1`表示0.0.1版本的alpha测试版的第0.0.1版本
+5. 使用~~删除线~~标注废弃功能
-6. 非代码部分的文件夹为大驼峰命名法,例如`DevelopmentRecord`文件夹用于存放开发报告
+6. 使用`2023/4/27/12:00`表示标记的事件的时间,只标记完成的时间
-7. 在每一次开发完成后编写和更新该version的md文档
+7. 使用`v0.0.1.alpha0.0.1`表示0.0.1版本的alpha测试版的第0.0.1版本
+
+8. 非代码部分的文件夹为大驼峰命名法,例如`DevelopmentRecord`文件夹用于存放开发报告
+
+9. 在每一次开发完成后编写和更新该version的md文档
diff --git a/VersionRecord/v0.0.1.alpha0.0.1.md b/VersionRecord/v0.0.1.alpha0.0.1.md
index 170635a..1bef086 100644
--- a/VersionRecord/v0.0.1.alpha0.0.1.md
+++ b/VersionRecord/v0.0.1.alpha0.0.1.md
@@ -2,19 +2,41 @@
## 需要开发的部分
-`@0001` 系统的登录功能,完成基本的用户数据库创建与登录功能,实现最初的登陆功能 `2023/4/27/10:00`
+`@0001` 系统的登录功能,完成基本的用户数据库创建与登录功能,实现最初的登陆功能
+
+*`@0002` 系统登录前端*
+
+*`@0003` 修改base基类作为模板引用*
+
+`@0004` index界面部署和链接的部署
+
+`@0005` 404界面的反馈模板
+
+`@0006` 500界面的反馈模板
-`@0002` 系统登录前端 `2023/4/27/14:00`
-`@0003` 修改base基类作为模板引用 `2023/4/27/14:00`
## 已经完成的部分
-`&0001 ` 完成了index界面的前端静态模板的编写,文件位于template文件夹下的index文件夹中 `2023/4/27/11:00`
+`&0001 ` 完成了index界面的前端静态模板的编写,文件位于templates文件夹下的index文件夹中 `2023/4/27/11:00`
+
+`&0002` 完成了login界面的前端静态模板的编写,文件位于templates文件夹下的login文件夹中 `2023/4/27/15:00`
+
+`&0003` 完成了基类模板的编写,文件位于templates文件夹下的base文件夹中 `2023/4/27/15:00`
+
+`&0004` 完成了基类模板的布置,确定网站LOGO并部署完毕 `2023/4/27/20:00`
+
+`&0005` 完成了基类模板参考说明的编写,位置在`/templates/base`下的
+
+[README.md]: ../templates/base/README.md "README.md"
+
+`2023/4/27/20:40`
+
+`&0006` 完成了index的部署 `2023/4/27/20:50`
+
+`&0007` 完成404界面的部署 `2023/4/27/21:00`
-`&0002` 完成了login界面的前端静态模板的编写,文件位于template文件夹下的login文件夹中 `2023/4/27/15:00`
-`&0003` 完成了基类模板的编写,文件位于template文件夹下的base文件夹中 `2023/4/27/15:00`
## 需要修复的BUG
diff --git a/app.py b/app.py
index 21f0cc9..a51c172 100644
--- a/app.py
+++ b/app.py
@@ -5,7 +5,22 @@ app = Flask(__name__)
@app.route('/')
def index():
- return render_template('base/base.html')
+ return render_template('index.html')
+
+
+@app.route('/login')
+def login():
+ return render_template('login.html')
+
+
+@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
if __name__ == '__main__':
diff --git a/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85gU1EQVg.woff2 b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85gU1EQVg.woff2
new file mode 100644
index 0000000..7f4f70e
Binary files /dev/null and b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85gU1EQVg.woff2 differ
diff --git a/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85iU1EQVg.woff2 b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85iU1EQVg.woff2
new file mode 100644
index 0000000..d3bfe4f
Binary files /dev/null and b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85iU1EQVg.woff2 differ
diff --git a/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85jU1EQVg.woff2 b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85jU1EQVg.woff2
new file mode 100644
index 0000000..80d9f2e
Binary files /dev/null and b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85jU1EQVg.woff2 differ
diff --git a/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85pU1EQVg.woff2 b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85pU1EQVg.woff2
new file mode 100644
index 0000000..5682016
Binary files /dev/null and b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85pU1EQVg.woff2 differ
diff --git a/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85tU1E.woff2 b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85tU1E.woff2
new file mode 100644
index 0000000..6ccee68
Binary files /dev/null and b/static/assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85tU1E.woff2 differ
diff --git a/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cce5I9tScg.woff2 b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cce5I9tScg.woff2
new file mode 100644
index 0000000..ec28c7c
Binary files /dev/null and b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cce5I9tScg.woff2 differ
diff --git a/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cce9I9s.woff2 b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cce9I9s.woff2
new file mode 100644
index 0000000..6b4bf5e
Binary files /dev/null and b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cce9I9s.woff2 differ
diff --git a/static/assets/fonts/pe0qMImSLYBIv1o4X1M8ccewI9tScg.woff2 b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8ccewI9tScg.woff2
new file mode 100644
index 0000000..094b520
Binary files /dev/null and b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8ccewI9tScg.woff2 differ
diff --git a/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cceyI9tScg.woff2 b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cceyI9tScg.woff2
new file mode 100644
index 0000000..842a86d
Binary files /dev/null and b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8cceyI9tScg.woff2 differ
diff --git a/static/assets/fonts/pe0qMImSLYBIv1o4X1M8ccezI9tScg.woff2 b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8ccezI9tScg.woff2
new file mode 100644
index 0000000..9fbe614
Binary files /dev/null and b/static/assets/fonts/pe0qMImSLYBIv1o4X1M8ccezI9tScg.woff2 differ
diff --git a/static/assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.woff2 b/static/assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.woff2
new file mode 100644
index 0000000..f7e5b5d
Binary files /dev/null and b/static/assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.woff2 differ
diff --git a/static/assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-lmjdLh.woff2 b/static/assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-lmjdLh.woff2
new file mode 100644
index 0000000..b087165
Binary files /dev/null and b/static/assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-lmjdLh.woff2 differ
diff --git a/static/css/404/error404.css b/static/css/404/error404.css
new file mode 100644
index 0000000..1f32804
--- /dev/null
+++ b/static/css/404/error404.css
@@ -0,0 +1,16 @@
+#getback {
+ /*color: var(--bs-white);*/
+ display: inline-block;
+ padding: 10px 20px;
+ background-color: rgba(188,199,211,0.59);
+ /*color: rgba(255,255,255,0.83);*/
+ text-decoration: none;
+ border-radius: 15px;
+ transform: scale(1);
+ transition: all 0.3s ease-out;
+}
+
+#getback:hover {
+ transform: scale(1.1);
+}
+
diff --git a/static/css/500/error404.css b/static/css/500/error404.css
new file mode 100644
index 0000000..1f32804
--- /dev/null
+++ b/static/css/500/error404.css
@@ -0,0 +1,16 @@
+#getback {
+ /*color: var(--bs-white);*/
+ display: inline-block;
+ padding: 10px 20px;
+ background-color: rgba(188,199,211,0.59);
+ /*color: rgba(255,255,255,0.83);*/
+ text-decoration: none;
+ border-radius: 15px;
+ transform: scale(1);
+ transition: all 0.3s ease-out;
+}
+
+#getback:hover {
+ transform: scale(1.1);
+}
+
diff --git a/static/css/500/error500.css b/static/css/500/error500.css
new file mode 100644
index 0000000..1f32804
--- /dev/null
+++ b/static/css/500/error500.css
@@ -0,0 +1,16 @@
+#getback {
+ /*color: var(--bs-white);*/
+ display: inline-block;
+ padding: 10px 20px;
+ background-color: rgba(188,199,211,0.59);
+ /*color: rgba(255,255,255,0.83);*/
+ text-decoration: none;
+ border-radius: 15px;
+ transform: scale(1);
+ transition: all 0.3s ease-out;
+}
+
+#getback:hover {
+ transform: scale(1.1);
+}
+
diff --git a/static/css/login/styles.min.css b/static/css/login/styles.min.css
new file mode 100644
index 0000000..fdb45ec
--- /dev/null
+++ b/static/css/login/styles.min.css
@@ -0,0 +1 @@
+@font-face{font-family:'Abril Fatface';src:url(../../assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-lmjdLh.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Abril Fatface';src:url(../../assets/fonts/zOL64pLDlL1D99S8g8PtiKchq-dmjQ.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe0qMImSLYBIv1o4X1M8ccewI9tScg.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe0qMImSLYBIv1o4X1M8cce5I9tScg.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe0qMImSLYBIv1o4X1M8cceyI9tScg.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe0qMImSLYBIv1o4X1M8ccezI9tScg.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe0qMImSLYBIv1o4X1M8cce9I9s.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85gU1EQVg.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85pU1EQVg.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85iU1EQVg.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85jU1EQVg.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Nunito Sans';src:url(../../assets/fonts/pe03MImSLYBIv1o4X1M8cc9iB85tU1E.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.fit-cover{object-fit:cover}.card{transform:scale(1);transition:.3s ease-out}.card:hover{transform:scale(1.1)}.btn{opacity:.2;border-radius:15px;transform:scale(1);transition:transform .3s ease-out}.btn:hover{opacity:.5;transform:scale(1.1);background:var(--bs-primary);color:var(--bs-white)}#footerschool,#forgetpassword,#register{text-decoration:none}#footerschoolicon{transform:scale(1.12)}#headingbackgroundimg{opacity:.75;transform:scale(1);transition:.3s ease-out}#headingbackgroundimg:hover{opacity:1}#headingbutton{outline:0}#headingdetail,#headinginto{opacity:.75}#account,#password{border-radius:10px;opacity:.85}#cardbody{border-radius:20px}.bs-icon{--bs-icon-size:.75rem;display:flex;flex-shrink:0;justify-content:center;align-items:center;font-size:var(--bs-icon-size);width:calc(var(--bs-icon-size) * 2);height:calc(var(--bs-icon-size) * 2);color:var(--bs-primary)}.bs-icon-xs{--bs-icon-size:1rem;width:calc(var(--bs-icon-size) * 1.5);height:calc(var(--bs-icon-size) * 1.5)}.bs-icon-sm{--bs-icon-size:1rem}.bs-icon-md{--bs-icon-size:1.5rem}.bs-icon-lg{--bs-icon-size:2rem}.bs-icon-xl{--bs-icon-size:2.5rem}.bs-icon.bs-icon-primary{color:var(--bs-white);background:var(--bs-primary)}.bs-icon.bs-icon-primary-light{color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.2)}.bs-icon.bs-icon-semi-white{color:var(--bs-primary);background:rgba(255,255,255,.5)}.bs-icon.bs-icon-rounded{border-radius:.5rem}.bs-icon.bs-icon-circle{border-radius:50%}.navbar{background-color:var(--bs-black);opacity:.95}.nav-item a{opacity:.75;transition:.3s ease-out}.nav-item a:hover{opacity:1;font-size:larger;transition:.3s ease-out}
\ No newline at end of file
diff --git a/static/images/DSC00372.jpg b/static/images/DSC00372.jpg
new file mode 100644
index 0000000..15eb7b9
Binary files /dev/null and b/static/images/DSC00372.jpg differ
diff --git a/static/images/DSC00705-2.jpg b/static/images/DSC00705-2.jpg
new file mode 100644
index 0000000..02404c4
Binary files /dev/null and b/static/images/DSC00705-2.jpg differ
diff --git a/static/images/DSC00993.jpg b/static/images/DSC00993.jpg
new file mode 100644
index 0000000..9bd623b
Binary files /dev/null and b/static/images/DSC00993.jpg differ
diff --git a/static/images/DSC01029-3.jpg b/static/images/DSC01029-3.jpg
new file mode 100644
index 0000000..f551d2d
Binary files /dev/null and b/static/images/DSC01029-3.jpg differ
diff --git a/static/images/主教.jpg b/static/images/主教.jpg
new file mode 100644
index 0000000..ea53136
Binary files /dev/null and b/static/images/主教.jpg differ
diff --git a/static/images/夜景.jpg b/static/images/夜景.jpg
new file mode 100644
index 0000000..c76f893
Binary files /dev/null and b/static/images/夜景.jpg differ
diff --git a/static/images/寝室.jpg b/static/images/寝室.jpg
new file mode 100644
index 0000000..dac88ff
Binary files /dev/null and b/static/images/寝室.jpg differ
diff --git a/static/images/植物.jpg b/static/images/植物.jpg
new file mode 100644
index 0000000..76dd52d
Binary files /dev/null and b/static/images/植物.jpg differ
diff --git a/templates/404.html b/templates/404.html
new file mode 100644
index 0000000..1c3781e
--- /dev/null
+++ b/templates/404.html
@@ -0,0 +1,21 @@
+{% extends 'base/base.html' %}
+{% block styles %}
+ {{ super() }}
+
+{% endblock styles %}
+{% block content %}
+
+
+
+
+
+
+
错误!
+
你所寻找的界面不存在~
+
响应代码404
返回
+
+
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/500.html b/templates/500.html
new file mode 100644
index 0000000..9e5139b
--- /dev/null
+++ b/templates/500.html
@@ -0,0 +1,21 @@
+{% extends 'base/base.html' %}
+{% block styles %}
+ {{ super() }}
+
+{% endblock styles %}
+{% block content %}
+
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/base/README.md b/templates/base/README.md
index e69de29..30f4083 100644
--- a/templates/base/README.md
+++ b/templates/base/README.md
@@ -0,0 +1,49 @@
+# base模板简介
+
+通过{%block name%}进行表示结构
+
+## 模板已实现部分
+
+1. bootstrap的基本JS
+2. 基类基本css
+3. 导航栏和脚注部分
+4. 空余的container类(div标签)
+
+## 模板核心参考
+
+```html
+{% block doc %}
+
+{% block html %}
+
+
+
+ {% block head %}
+ {% block meta %}
+ {% endblock meta %}
+ {% block title %}学生寝室管理系统{% endblock title%}
+ {% block styles %}
+ {% endblock styles %}
+ {% endblock head %}
+
+
+
+ {% block body %}
+ {% block nav %}
+ {% endblock nav %}
+ {% block content %}
+
+ //注意container这个div在里面
+ {% endblock content %}
+ {% block footer %}
+ {% endblock footer %}
+ {% block js %}
+
+ {% endblock js %}
+ {% endblock body %}
+
+{% endblock html %}
+
+{% endblock doc %}
+```
+
diff --git a/templates/base/assets/css/Articles-Cards-images.css b/templates/base/assets/css/Articles-Cards-images.css
index de27a5f..9256857 100644
--- a/templates/base/assets/css/Articles-Cards-images.css
+++ b/templates/base/assets/css/Articles-Cards-images.css
@@ -57,3 +57,8 @@
opacity: 0.75;
}
+#getback {
+ text-decoration: none;
+ color: var(--bs-btn-disabled-border-color);
+}
+
diff --git a/templates/base/assets/css/error404.css b/templates/base/assets/css/error404.css
new file mode 100644
index 0000000..1f32804
--- /dev/null
+++ b/templates/base/assets/css/error404.css
@@ -0,0 +1,16 @@
+#getback {
+ /*color: var(--bs-white);*/
+ display: inline-block;
+ padding: 10px 20px;
+ background-color: rgba(188,199,211,0.59);
+ /*color: rgba(255,255,255,0.83);*/
+ text-decoration: none;
+ border-radius: 15px;
+ transform: scale(1);
+ transition: all 0.3s ease-out;
+}
+
+#getback:hover {
+ transform: scale(1.1);
+}
+
diff --git a/templates/base/base.html b/templates/base/base.html
index 2b71e4a..757b763 100644
--- a/templates/base/base.html
+++ b/templates/base/base.html
@@ -27,10 +27,10 @@
{% block body %}
{% block nav %}