# Django 程式
## Templates
### layout.html
```html=
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge">
{% load static %}
<link rel="stylesheet" href="{% static 'css/bootstrap.css' %}">
<link rel="Shortcut Icon" type="image/x-icon" href="{% static 'images/logo.jpg' %}"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/6.10.3/sweetalert2.css" />
{% block css %}{% endblock %}
<title>EzAnalysis</title>
{% load bootstrap4 %}
</head>
<body>
{% block body %}{% endblock %}
</body>
<!-- LineLiff.js -->
<script charset="utf-8" src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>
<!-- SweetAlert2.js -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/6.10.3/sweetalert2.js" type="text/javascript"></script>
{% block js %}{% endblock %}
</html>
```
### Diary
* EzAnalysis/EmotionDiary/templates/Diary/
#### MenuDiary.html
```html=
{% extends 'layout.html' %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/menuDiary.css' %}">
{% endblock %}
{% block body %}
<div id="menu">
<div id="userid" style="display:none;">{{ pk }}</div>
<div id="message" style="display:none;">{{ message }}</div>
<div id="bh">
<!-- 拍立得線 -->
<svg class="_13" viewBox="0 0 259 59.969">
<path id="_13" d="M 259 0 C 259 0 207.640869140625 38.790283203125 142.890869140625 52.790283203125 C 78.140869140625 66.790283203125 0 56 0 56">
</path>
</svg>
<!-- KEEP -->
<div id="KEEP_bn">
<span>KEEP</span>
</div>
<div id="KEEP">
<span>KEEP</span>
</div>
<!-- Diary -->
<div id="DIARY_bn">
<span>DIARY</span>
</div>
<div id="DIARY">
<span>DIARY</span>
</div>
<img id="_bh" src="{% static 'images/decoration/_bh.png' %}" srcset="{% static 'images/decoration/_bh.png' %} 1x, {% static 'images/decoration/_bh@2x.png' %} 2x">
<!-- 拍立得1 -->
<div id="_61">
<svg class="_136">
<rect id="_136" rx="0" ry="0" x="0" y="0" width="45.66" height="63.539">
</rect>
</svg>
<img id="vh9keWU" src="{% static 'images/decoration/vh9keWU.png' %}" srcset="{% static 'images/decoration/vh9keWU.png' %} 1x, {% static 'images/decoration/vh9keWU@2x.png' %} 2x">
</div>
<img id="clothespin_PNG57" src="{% static 'images/decoration/clothespin_PNG57.png' %}" srcset="{% static 'images/decoration/clothespin_PNG57.png' %} 1x, {% static 'images/decoration/clothespin_PNG57@2x.png' %} 2x">
<!-- 拍立得2 -->
<div id="_62">
<svg class="_136_bu">
<rect id="_136_bu" rx="0" ry="0" x="0" y="0" width="45.66" height="63.539">
</rect>
</svg>
<img id="ID8164a8766028c1cc7d82587f62dd" src="{% static 'images/decoration/ID8164a8766028c1cc7d82587f62dd.png' %}" srcset="{% static 'images/decoration/ID8164a8766028c1cc7d82587f62dd.png' %} 1x, {% static 'images/decoration/ID8164a8766028c1cc7d82587f62dd@2x.png' %} 2x">
</div>
<img id="clothespin_PNG57_bw" src="{% static 'images/decoration/clothespin_PNG57.png' %}" srcset="{% static 'images/decoration/clothespin_PNG57.png' %} 1x, {% static 'images/decoration/clothespin_PNG57@2x.png' %} 2x">
</div>
<!-- 新增日記 -->
<div id="_ba">
<button id="add_btn" onclick="addDiary(this);">
<svg class="_127">
<rect id="_127" rx="5" ry="5" x="0" y="0" width="350" height="203">
</rect>
</svg>
<svg class="_126">
<rect id="_126" rx="5" ry="5" x="0" y="0" width="328" height="182">
</rect>
</svg>
<div id="Add_Diary">
<span>新增日記</span>
</div>
</button>
<div id="w644">
<img id="w644_1" src="{% static 'images/decoration/w644_1.png' %}" srcset="{% static 'images/decoration/w644_1.png' %} 1x, {% static 'images/decoration/w644_1@2x.png' %} 2x">
</div>
</div>
<!-- 修改日記 -->
<div id="_ba1">
<button id="edit_btn" onclick="editDiary(this);">
<svg class="_125">
<rect id="_125" rx="5" ry="5" x="0" y="0" width="350" height="203">
</rect>
</svg>
<svg class="_128">
<rect id="_128" rx="5" ry="5" x="0" y="0" width="328" height="182">
</rect>
</svg>
<div id="Revise_Diary">
<span>修改日記</span>
</div>
</button>
<div id="w644_bj">
<img id="w644_1_bj" src="{% static 'images/decoration/w644_1.png' %}" srcset="{% static 'images/decoration/w644_1.png' %} 1x, {% static 'images/decoration/w644_1@2x.png' %} 2x">
</div>
<div id="_bc">
<div id="img_bc">
<img id="_be" src="{% static 'images/decoration_be.png' %}" srcset="{% static 'images/decoration/_be.png' %} 1x, {% static 'images/decoration/_be@2x.png' %} 2x">
<img id="_bf" src="{% static 'images/decoration/_bf.png' %}" srcset="{% static 'images/decoration/_bf.png' %} 1x, {% static 'images/decoration/_bf@2x.png' %} 2x">
<img id="_1" src="{% static 'images/decoration/_1.png' %}" srcset="{% static 'images/decoration/_1.png' %} 1x, {% static 'images/decoration/_1@2x.png' %} 2x">
</div>
</div>
</div>
<div id="img_3">
<img id="_3" src="{% static 'images/decoration/_3.png' %}" srcset="{% static 'images/decoration/_3.png' %} 1x, {% static 'images/decoration/_3@2x.png' %} 2x">
</div>
</div>
{% endblock %}
{% block js %}
<script src="{% static 'js/menuDiary.js' %}"></script>
{% endblock %}
```
#### addDiary1.html
```html=
{% extends 'layout.html' %}
{% load bootstrap4 %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/addDiary1.css' %}" xmlns="http://www.w3.org/1999/html">
{% endblock %}
{% block body %}
<form id="diaryForm1" method="post" action="" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID2">
<!-- userid -->
{{ diary_form.line_id }}
<!-- 日期&時間 -->
<div id="date"></div>
<div id="time"></div>
{{ diary_form.date }}
<div id="line_9">
<svg id="line">
<path class="line" d="M 0 0 L 188.712890625 0 L 295 0">
</path>
</svg>
</div>
<!-- mood -->
<div id="emoji">
{{ diary_form.mood }}
<div id="area_1">
<!-- 洞洞 -->
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
</div>
<img id="w644" src="{% static 'images/decoration/w644.png' %}" srcset="{% static 'images/decoration/w644.png' %} 1x, {% static 'images/decoration/w644@2x.png' %} 2x">
<div id="emoji_text">
<span>今天心情如何呢?</span>
</div>
<div id="emoji_block">
<div id="cry">
<button id="cry_btn" name="emoji_btn" type="button" class="btn1" value="1">
<img id="ID051-cry" class="emoji_img" src="{% static 'images/moods/ID051-cry.png'%}" srcset="{% static 'images/moods/ID051-cry.png' %} 1x, {% static 'images/moods/ID051-cry@2x.png' %} 2x" style="padding: 2px">
</button>
<div id="cry_text" class="emoji_text">超難過</div>
</div>
<div id="sad">
<button id="sad_btn" name="emoji_btn" type="button" class="btn1" value="2">
<img id="ID051-sad" class="emoji_img" src="{% static 'images/moods/ID051-sad.png' %}" srcset="{% static 'images/moods/ID051-sad.png' %} 1x, {% static 'images/moods/ID051-sad@2x.png' %} 2x" style="padding: 2px;">
</button>
<div id="sad_text" class="emoji_text">難過</div>
</div>
<div id="neutral">
<button id="neutral_btn" name="emoji_btn" type="button" class="btn1" value="3">
<img id="ID051-neutral" class="emoji_img" src="{% static 'images/moods/ID051-neutral.png' %}" srcset="{% static 'images/moods/ID051-neutral.png' %} 1x, {% static 'images/moods/ID051-neutral@2x.png' %} 2x">
</button>
<div id="neutral_text" class="emoji_text">普通</div>
</div>
<div id="happy">
<button id="happy_btn" name="emoji_btn" type="button" class="btn1" value="4">
<img id="ID051-happy" class="emoji_img" src="{% static 'images/moods/ID051-happy.png' %}" srcset="{% static 'images/moods/ID051-happy.png' %} 1x, {% static 'images/moods/ID051-happy@2x.png' %} 2x">
</button>
<div id="happy_text" class="emoji_text">開心</div>
</div>
<div id="joy">
<button id="joy_btn" name="emoji_btn" type="button" class="btn1" value="5">
<img id="ID051-joy" class="emoji_img" src="{% static 'images/moods/ID051-joy.png' %}" srcset="{% static 'images/moods/ID051-joy.png' %} 1x, {% static 'images/moods/ID051-joy@2x.png' %} 2x">
</button>
<div id="joy_text" class="emoji_text">超開心</div>
</div>
</div>
</div>
<div id="_bx">
<div id="area_2">
<!-- 洞洞 -->
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
</div>
<div id="w644_1">
<img class="w644_1" src="{% static 'images/decoration/w644_1.png' %}" srcset="{% static 'images/decoration/w644_1.png' %} 1x, {% static 'images/decoration/w644_1@2x.png' %} 2x">
</div>
<div id="Face_Scanning">
<span class="Face_Scanning">Face Scanning</span>
<!-- input pic -->
<div id="user_photo" style="display: none">{{ diary_form.pic.value }}</div>
<img id="image" name="pic" class="image" src="">
{{ diary_form.pic }}
</div>
</div>
<div id="next">
<img id="_3" src="{% static 'images/decoration/_3.png' %}" srcset="{% static 'images/decoration/_3.png' %} 1x, {% static 'images/decoration/_3@2x.png' %} 2x">
<div id="next_btn">
<input id="_27" type="button" onclick="check(this);">
<svg class="_10" viewBox="0 0 30.915 15.458">
<path id="_10" d="M 30.9150390625 0 L 15.45751953125 15.45751953125 L 0 0">
</path>
</svg>
<div id="next_text">
<span>繼續</span>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/addDiary1.js' %}"></script>
<script src='//code.jquery.com/jquery-2.1.4.min.js'></script>
{% endblock %}
```
#### addDiary2.html
```html=
{% extends 'layout.html' %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/addDiary2.css' %}" xmlns="http://www.w3.org/1999/html">
{% endblock %}
{% block body %}
<form id="diaryForm2" method="post" action="" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID2">
<!-- banner -->
<div id="banner">
<div id="mood" style="display:none">{{ get_diary.mood }}</div>
<div id="banner_text">
<div id="mood_text">
</div>
那今天做了什麼呢?
</div>
</div>
<!-- 裝飾 -->
<div id="decoration">
<div id="area">
<!-- 洞洞 -->
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
<svg class="dot"><ellipse class="dot_dot" rx="7.5" ry="7.5" cx="7.5" cy="7.5"></ellipse></svg>
</div>
<div id="w644_1">
<img class="w644_1" src="{% static 'images/decoration/w644_1.png' %}" srcset="{% static 'images/decoration/w644_1.png' %} 1x, {% static 'images/decoration/w644_1@2x.png' %} 2x">
</div>
<div id="user_things" style="display: none;">
{% for ut in user_things %}
<div id="{{ ut.things_id.things_id }}"></div>
{% endfor %}
</div>
{{ thing_form.things_id }}
<!-- 按鈕 -->
<div id="default_things">
<!-- shopping -->
<div id="T001" class="shopping">
<button id="shopping_btn" type="button" name="thing_btn" class="btn1" value="T001">
<img class="thing_img" src="{% static 'images/things/shopping-bag.png' %}" srcset="{% static 'images/things/shopping-bag.png' %} 1x, {% static 'images/things/shopping-bag@2x.png' %} 2x">
</button>
<div class="thing_text">購物</div>
</div>
<!-- eat -->
<div id="T002" class="eat">
<button id="eat_btn" type="button" name="thing_btn" class="btn1" value="T002">
<img class="thing_img" src="{% static 'images/things/fast-food.png' %}" srcset="{% static 'images/things/fast-food.png' %} 1x, {% static 'images/things/fast-food@2x.png' %} 2x">
</button>
<div class="thing_text">美食</div>
</div>
<!-- friends -->
<div id="T003" class="friend">
<button id="friend_btn" type="button" name="thing_btn" class="btn1" value="T003">
<img class="thing_img" src="{% static 'images/things/friends.png' %}" srcset="{% static 'images/things/friends.png' %} 1x, {% static 'images/things/friends@2x.png' %} 2x">
</button>
<div class="thing_text">朋友</div>
</div>
<!-- game -->
<div id="T004" class="game">
<button id="game_btn" type="button" name="thing_btn" class="btn1" value="T004">
<img class="thing_img" src="{% static 'images/things/joystick.png' %}" srcset="{% static 'images/things/joystick.png' %} 1x, {% static 'images/things/joystick@2x.png' %} 2x">
</button>
<div class="thing_text">玩遊戲</div>
</div>
<!-- sport -->
<div id="T005" class="sport">
<button id="sport_btn" type="button" name="thing_btn" class="btn1" value="T005">
<img class="thing_img" src="{% static 'images/things/sport.png' %}" srcset="{% static 'images/things/sport.png' %} 1x, {% static 'images/things/sport@2x.png' %} 2x">
</button>
<div class="thing_text">運動</div>
</div>
<!-- favourite -->
<div id="T006" class="favourite">
<button id="favourite_btn" type="button" name="thing_btn" class="btn1" value="T006">
<img class="thing_img" src="{% static 'images/things/favourite.png' %}" srcset="{% static 'images/things/favourite.png' %} 1x, {% static 'images/things/favourite@2x.png' %} 2x">
</button>
<div class="thing_text">約會</div>
</div>
<!-- clean -->
<div id="T007" class="clean">
<button id="clean_btn" type="button" name="thing_btn" class="btn1" value="T007">
<img class="thing_img" src="{% static 'images/things/broom.png' %}" srcset="{% static 'images/things/broom.png' %} 1x, {% static 'images/things/broom@2x.png' %} 2x">
</button>
<div class="thing_text">清潔</div>
</div>
<!-- travel -->
<div id="T008" class="travel">
<button id="travel_btn" type="button" name="thing_btn" class="btn1" value="T008">
<img class="thing_img" src="{% static 'images/things/luggage.png' %}" srcset="{% static 'images/things/luggage.png' %} 1x, {% static 'images/things/luggage@2x.png' %} 2x">
</button>
<div class="thing_text">旅行</div>
</div>
<!-- work -->
<div id="T009" class="work">
<button id="work_btn" type="button" name="thing_btn" class="btn1" value="T009">
<img class="thing_img" src="{% static 'images/things/briefcase.png' %}" srcset="{% static 'images/things/briefcase.png' %} 1x, {% static 'images/things/briefcase@2x.png' %} 2x">
</button>
<div class="thing_text">工作</div>
</div>
<!-- relax -->
<div id="T010" class="relax">
<button id="relax_btn" type="button" name="thing_btn" class="btn1" value="T010">
<img class="thing_img" src="{% static 'images/things/relaxing.png' %}" srcset="{% static 'images/things/relaxing.png' %} 1x, {% static 'images/things/relaxing@2x.png' %} 2x">
</button>
<div class="thing_text">放鬆</div>
</div>
<!-- party -->
<div id="T011" class="party">
<button id="party_btn" type="button" name="thing_btn" class="btn1" value="T011">
<img class="thing_img" src="{% static 'images/things/confetti.png' %}" srcset="{% static 'images/things/confetti.png' %} 1x, {% static 'images/things/confetti@2x.png' %} 2x">
</button>
<div class="thing_text">派對</div>
</div>
<!-- reading -->
<div id="T012" class="reading">
<button id="reading_btn" type="button" name="thing_btn" class="btn1" value="T012">
<img class="thing_img" src="{% static 'images/things/open-book.png' %}" srcset="{% static 'images/things/open-book.png' %} 1x, {% static 'images/things/open-book@2x.png' %} 2x">
</button>
<div class="thing_text">閱讀</div>
</div>
<!-- movie -->
<div id="T013" class="movie">
<button id="movie_btn" type="button" name="thing_btn" class="btn1" value="T013">
<img class="thing_img" src="{% static 'images/things/video-player.png' %}" srcset="{% static 'images/things/video-player.png' %} 1x, {% static 'images/things/video-player@2x.png' %} 2x">
</button>
<div class="thing_text">看電影</div>
</div>
<!-- other -->
<div id="T014" class="other">
<button id="other_btn" type="button" name="thing_btn" class="btn1" value="T014">
<img class="thing_img" src="{% static 'images/things/add.png' %}" srcset="{% static 'images/things/add.png' %} 1x, {% static 'images/things/add@2x.png' %} 2x">
</button>
<div class="thing_text">其他</div>
</div>
</div>
</div>
<div id="next">
<img id="_3" src="{% static 'images/decoration/_3.png' %}" srcset="{% static 'images/decoration/_3.png' %} 1x, {% static 'images/decoration/_3@2x.png' %} 2x">
<div id="next_btn">
<input id="_27" type="button" onclick="check(this);">
<svg class="_10" viewBox="0 0 30.915 15.458">
<path id="_10" d="M 30.9150390625 0 L 15.45751953125 15.45751953125 L 0 0">
</path>
</svg>
<div id="next_text">
<span>繼續</span>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/addDiary2.js' %}"></script>
{% endblock %}
```
#### addDiary3.html
```html=
{% extends 'layout.html' %}
{% load bootstrap4 %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/addDiary3.css' %}">
{% endblock %}
{% block body %}
<form id="DiaryForm3" action="" method="post" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID2">
<img id="background_img" src="{% static 'images/decoration/_2.png' %}" srcset="{% static 'images/decoration/_2.png' %} 1x, {% static 'images/decoration/_2@2x.png' %} 2x">
<!-- banner -->
<div id="banner">
<!-- banner_text -->
<div id="banner_text">今天想說什麼呢?</div>
<!--完成-->
<div id="finish_area">
<button id="finish_button" onclick="check(this);">
<span id="finish_text">完成</span>
</button>
</div>
<!-- 郵戳 -->
<img id="_dg" src="{% static 'images/decoration/_dg.png' %}" srcset="{% static 'images/decoration/_dg.png' %} 1x, {% static 'images/decoration/_dg@2x.png' %} 2x">
</div>
<!-- 備註 -->
<div id="text_msg">
{{ diary_form.note }}
</div>
<!-- 所選取做的事 -->
<div id="list">
{% for user_thing in get_thing %}
<div id="msg">
<div id="msg_thing">
{% for dt in default_thing %}
{% if dt.things_id == user_thing.things_id %}
<div id="msg_img">
<img class="msg_img" src="{% static 'images/' %}{{ dt.things_img }}">
</div>
<div id="msg_text">{{ dt.things }}</div>
{% endif %}
{% endfor %}
</div>
<div id="msg_btn">
{% for dn in default_note %}
{% if dn.things_id.things_id == user_thing.things_id %}
<button id="{{ dn.note_id }}" name="default_btn" type="button" class="btn1" value="{{ dn.default_note }}" onclick="thingSelect(this);">{{ dn.default_note }}</button>
{% endif %}
{% endfor %}
</div>
</div>
{% endfor %}
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/addDiary3.js' %}"></script>
{% endblock %}
```
#### editDiary.html
```html=
{% extends 'layout.html' %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/editDiary.css' %}">
{% endblock %}
{% block body %}
<form id="editDiaryForm" action="" method="post" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID2">
<!-- title -->
<div id="title">
<span class="title">更改日記</span>
</div>
{{ diary_form.line_id }}
<!-- Date -->
{{ diary_form.date }}
<div id="_50">
<div id="Date">
<div id="date_text">Date</div>
<input id="date_input" type="date" value="" disabled>
</div>
</div>
<!-- Time -->
<div id="_51">
<div id="Time">
<div id="time_text">Time</div>
<input id="time_input" type="time" value="" disabled>
</div>
</div>
<!-- Mood -->
<div id="_52">
<div id="Mood">
<div id="mood_text">心情</div>
{{ diary_form.mood }}
<button id="mood_btn" type="button" onclick="showMood(this);">
<img id="mood_img" src="" srcset="">
</button>
</div>
</div>
<!-- Thing -->
<div id="_53">
<div id="Thing">
<div id="thing_text">事件</div>
<svg id="_9" viewBox="0 0 348 1">
<path class="_9" d="M 0 0 L 255.796875 0 L 348 0">
</path>
</svg>
<div id="get_user_thing" style="display: none;">
{% for ut in user_things %}
<div id="{{ ut.things_id.things_id }}"></div>
{% endfor %}
</div>
{{ thing_form.things_id }}
<button id="thing_btn" type="button" onclick="showThing(this);">
</button>
</div>
</div>
<!-- Photo -->
<div id="_54">
<div id="Photo">
<img id="image" class="image" src="{{ MEDIA_URL }}{{ diary_form.pic.value }}">
{{ diary_form.pic }}
</div>
<!-- Finish -->
<div id="Finish">
<button id="finish_btn" onclick="check(this);">
<span id="finish_text">完成</span>
</button>
</div>
</div>
<!-- Mood_test -->
<div id="mood_win" style="opacity: 0; display: none;">
<div id="mood_emoji">
<div class="text">選擇心情</div>
<svg id="line" viewBox="0 0 562 5">
<path class="line" d="M 562 0 L 0 0">
</path>
</svg>
<div id="emoji">
<div id="cry">
<button id="cry_btn" name="emoji_btn" type="button" class="btn1" value="1">
<img id="ID051-cry" class="emoji_img" src="{% static 'images/moods/ID051-cry.png'%}" srcset="{% static 'images/moods/ID051-cry.png' %} 1x, {% static 'images/moods/ID051-cry@2x.png' %} 2x" style="padding: 2px">
</button>
<div id="cry_text" class="emoji_text">超難過</div>
</div>
<div id="sad">
<button id="sad_btn" name="emoji_btn" type="button" class="btn1" value="2">
<img id="ID051-sad" class="emoji_img" src="{% static 'images/moods/ID051-sad.png' %}" srcset="{% static 'images/moods/ID051-sad.png' %} 1x, {% static 'images/moods/ID051-sad@2x.png' %} 2x" style="padding: 2px;">
</button>
<div id="sad_text" class="emoji_text">難過</div>
</div>
<div id="neutral">
<button id="neutral_btn" name="emoji_btn" type="button" class="btn1" value="3">
<img id="ID051-neutral" class="emoji_img" src="{% static 'images/moods/ID051-neutral.png' %}" srcset="{% static 'images/moods/ID051-neutral.png' %} 1x, {% static 'images/moods/ID051-neutral@2x.png' %} 2x">
</button>
<div id="neutral_text" class="emoji_text">普通</div>
</div>
<div id="happy">
<button id="happy_btn" name="emoji_btn" type="button" class="btn1" value="4">
<img id="ID051-happy" class="emoji_img" src="{% static 'images/moods/ID051-happy.png' %}" srcset="{% static 'images/moods/ID051-happy.png' %} 1x, {% static 'images/moods/ID051-happy@2x.png' %} 2x">
</button>
<div id="happy_text" class="emoji_text">開心</div>
</div>
<div id="joy">
<button id="joy_btn" name="emoji_btn" type="button" class="btn1" value="5">
<img id="ID051-joy" class="emoji_img" src="{% static 'images/moods/ID051-joy.png' %}" srcset="{% static 'images/moods/ID051-joy.png' %} 1x, {% static 'images/moods/ID051-joy@2x.png' %} 2x">
</button>
<div id="joy_text" class="emoji_text">超開心</div>
</div>
</div>
<button id="emoji_cancel" class="cancel" type="button">取消</button>
<button id="emoji_ok" class="ok" type="button">完成</button>
</div>
</div>
<!-- Thing_test -->
<div id="thing_win" style="opacity: 0; display: none;">
<div id="default_things_thing">
<div class="text">
<span>選擇事件</span>
</div>
<svg id="line" viewBox="0 0 562 5">
<path class="line" d="M 562 0 L 0 0">
</path>
</svg>
<!--按鈕-->
<div id="default_things_btn">
<!-- shopping -->
<div id="T001" class="shopping">
<button id="shopping_btn" type="button" name="thing_btn" class="btn3" value="T001">
<img class="thing_img" src="{% static 'images/things/shopping-bag.png' %}" srcset="{% static 'images/things/shopping-bag.png' %} 1x, {% static 'images/things/shopping-bag@2x.png' %} 2x">
</button>
<div class="thing_text">購物</div>
</div>
<!-- eat -->
<div id="T002" class="eat">
<button id="eat_btn" type="button" name="thing_btn" class="btn3" value="T002">
<img class="thing_img" src="{% static 'images/things/fast-food.png' %}" srcset="{% static 'images/things/fast-food.png' %} 1x, {% static 'images/things/fast-food@2x.png' %} 2x">
</button>
<div class="thing_text">美食</div>
</div>
<!-- friends -->
<div id="T003" class="friend">
<button id="friend_btn" type="button" name="thing_btn" class="btn3" value="T003">
<img class="thing_img" src="{% static 'images/things/friends.png' %}" srcset="{% static 'images/things/friends.png' %} 1x, {% static 'images/things/friends@2x.png' %} 2x">
</button>
<div class="thing_text">朋友</div>
</div>
<!-- game -->
<div id="T004" class="game">
<button id="game_btn" type="button" name="thing_btn" class="btn3" value="T004">
<img class="thing_img" src="{% static 'images/things/joystick.png' %}" srcset="{% static 'images/things/joystick.png' %} 1x, {% static 'images/things/joystick@2x.png' %} 2x">
</button>
<div class="thing_text">玩遊戲</div>
</div>
<!-- sport -->
<div id="T005" class="sport">
<button id="sport_btn" type="button" name="thing_btn" class="btn3" value="T005">
<img class="thing_img" src="{% static 'images/things/sport.png' %}" srcset="{% static 'images/things/sport.png' %} 1x, {% static 'images/things/sport@2x.png' %} 2x">
</button>
<div class="thing_text">運動</div>
</div>
<!-- favourite -->
<div id="T006" class="favourite">
<button id="favourite_btn" type="button" name="thing_btn" class="btn3" value="T006">
<img class="thing_img" src="{% static 'images/things/favourite.png' %}" srcset="{% static 'images/things/favourite.png' %} 1x, {% static 'images/things/favourite@2x.png' %} 2x">
</button>
<div class="thing_text">約會</div>
</div>
<!-- clean -->
<div id="T007" class="clean">
<button id="clean_btn" type="button" name="thing_btn" class="btn3" value="T007">
<img class="thing_img" src="{% static 'images/things/broom.png' %}" srcset="{% static 'images/things/broom.png' %} 1x, {% static 'images/things/broom@2x.png' %} 2x">
</button>
<div class="thing_text">清潔</div>
</div>
<!-- travel -->
<div id="T008" class="travel">
<button id="travel_btn" type="button" name="thing_btn" class="btn3" value="T008">
<img class="thing_img" src="{% static 'images/things/luggage.png' %}" srcset="{% static 'images/things/luggage.png' %} 1x, {% static 'images/things/luggage@2x.png' %} 2x">
</button>
<div class="thing_text">旅行</div>
</div>
<!-- work -->
<div id="T009" class="work">
<button id="work_btn" type="button" name="thing_btn" class="btn3" value="T009">
<img class="thing_img" src="{% static 'images/things/briefcase.png' %}" srcset="{% static 'images/things/briefcase.png' %} 1x, {% static 'images/things/briefcase@2x.png' %} 2x">
</button>
<div class="thing_text">工作</div>
</div>
<!-- relax -->
<div id="T010" class="relax">
<button id="relax_btn" type="button" name="thing_btn" class="btn3" value="T010">
<img class="thing_img" src="{% static 'images/things/relaxing.png' %}" srcset="{% static 'images/things/relaxing.png' %} 1x, {% static 'images/things/relaxing@2x.png' %} 2x">
</button>
<div class="thing_text">放鬆</div>
</div>
<!-- party -->
<div id="T011" class="party">
<button id="party_btn" type="button" name="thing_btn" class="btn3" value="T011">
<img class="thing_img" src="{% static 'images/things/confetti.png' %}" srcset="{% static 'images/things/confetti.png' %} 1x, {% static 'images/things/confetti@2x.png' %} 2x">
</button>
<div class="thing_text">派對</div>
</div>
<!-- reading -->
<div id="T012" class="reading">
<button id="reading_btn" type="button" name="thing_btn" class="btn3" value="T012">
<img class="thing_img" src="{% static 'images/things/open-book.png' %}" srcset="{% static 'images/things/open-book.png' %} 1x, {% static 'images/things/open-book@2x.png' %} 2x">
</button>
<div class="thing_text">閱讀</div>
</div>
<!-- movie -->
<div id="T013" class="movie">
<button id="movie_btn" type="button" name="thing_btn" class="btn3" value="T013">
<img class="thing_img" src="{% static 'images/things/video-player.png' %}" srcset="{% static 'images/things/video-player.png' %} 1x, {% static 'images/things/video-player@2x.png' %} 2x">
</button>
<div class="thing_text">看電影</div>
</div>
<!-- other -->
<div id="T014" class="other">
<button id="other_btn" type="button" name="thing_btn" class="btn3" value="T014">
<img class="thing_img" src="{% static 'images/things/add.png' %}" srcset="{% static 'images/things/add.png' %} 1x, {% static 'images/things/add@2x.png' %} 2x">
</button>
<div class="thing_text">其他</div>
</div>
</div>
<button id="thing_cancel" class="cancel" type="button">取消</button>
<button id="thing_ok" class="ok" type="button" onclick="check(this);">完成</button>
</div>
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/editDiary.js' %}"></script>
{% endblock %}
```
### History
* EzAnalysis/EmotionDiary/templates/History/
#### showHistory.html
```html=
{% extends 'layout.html' %}
{% load bootstrap4 %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/showHistory.css' %}">
<link rel="stylesheet" href="{% static 'css/calendar.css' %}">
{% endblock %}
{% block body %}
<form id="HistoryForm" action="" method="post" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID3">
<div id="_bk">
<div id="banner"></div>
</div>
<div id="calendar" class="fc fc-media-screen fc-direction-ltr fc-theme-standard"></div>
<div id="user_diary" value="{{ pk }}" style="display: none;">
{% for ud in get_diary %}
<div id="{{ ud.id }}">
<div id="diary_date">{{ ud.date }}</div>
<div id="diary_mood">{{ ud.mood }}</div>
<div id="diary_note">{{ ud.note }}</div>
<div id="diary_pic">{{ ud.pic }}</div>
<!-- <img id="diary_pic" src="{{ MEDIA_URL }}">-->
<div id="diary_things">
{% for ut in get_thing %}
{% if ut.diary_id.id == ud.id %}
<!-- <img src="{{ MEDIA_URL }}{{ ut.things_id.things_img }}" value="{{ ut.things_id.things_id }}">-->
<img src="{% static 'images/' %}{{ ut.things_id.things_img }}" value="{{ ut.things_id.things_id }}">
{% endif %}
{% endfor %}
</div>
</div>
{% endfor %}
</div>
<div id="content">
<div class="show_thing">
<div class="day_time">
<div id="week" class="days_text"></div>
<div id="day" class="days_text" style="font-size: 30px;"></div>
<div id="time" class="days_text"></div>
</div>
<div id="get_id" style="display: none;"></div>
<div id="things" class="things">
</div>
</div>
<div class="line"></div>
<div class="show_note">
<div class="note_text">
<div id="note"></div>
</div>
<img id="mood">
<button id="delete_btn" class="button" type="button" style="float: left; margin-left: 10px; display: none;">刪除日記</button>
<button id="revise_btn" class="button" type="button" style="float: right; margin-right: 10px; display: none;">修改日記</button>
{{ thing_form.diary_id }}
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/calendar.js' %}"></script>
<script src="{% static 'js/showHistory.js' %}"></script>
{% endblock %}
```
### Statistics
* EzAnalysis/EmotionDiary/templates/Statistics/
#### showStatistics.html
```html=
{% extends 'layout.html' %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/showStatistics.css' %}">
{% endblock %}
{% block body %}
<form id="" action="" method="post" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID4">
<div id="_bk">
<div id="banner">圖表分析</div>
</div>
<div id="content">
<!-- 圓餅圖 -->
<div id="pie">
<div class="text">
<div style="float: left; margin-left: 20px;">心情統計</div>
<div style="float: right; margin-right: 20px;">一個月</div>
</div>
<!-- <img class="graph" src="{% static 'images/user_pie.png' %}">-->
<div id="mood_count" style="display: none;">{{ mood_count }}</div>
<div class="graph" style="width: 280px;">
<canvas id="pieChart"></canvas>
</div>
<div class="mood">
<div class="emoji">
<img class="emoji_img" src="{% static 'images/moods/ID050-cry.png' %}" srcset="{% static 'images/moods/ID051-cry.png' %} 1x, {% static 'images/moods/ID051-cry@2x.png' %} 2x">
<div class="emoji_color" style="background-color: rgb(255,99,132, 50%);"></div>
<p class="emoji_text" style="margin: 0;">超難過</p>
</div>
<div class="emoji">
<img class="emoji_img" src="{% static 'images/moods/ID050-sad.png' %}" srcset="{% static 'images/moods/ID051-sad.png' %} 1x, {% static 'images/moods/ID051-sad@2x.png' %} 2x">
<div class="emoji_color" style="margin-left: 8px; background-color: rgb(255,159,64, 50%);"></div>
<p class="emoji_text">難過</p>
</div>
<div class="emoji">
<img class="emoji_img" src="{% static 'images/moods/ID050-neutral.png' %}" srcset="{% static 'images/moods/ID051-neutral.png' %} 1x, {% static 'images/moods/ID051-neutral@2x.png' %} 2x">
<div class="emoji_color" style="margin-left: 8px; background-color: rgb(255, 205, 86, 50%);"></div>
<p class="emoji_text">普通</p>
</div>
<div class="emoji">
<img class="emoji_img" src="{% static 'images/moods/ID050-happy.png' %}" srcset="{% static 'images/moods/ID051-happy.png' %} 1x, {% static 'images/moods/ID051-happy@2x.png' %} 2x">
<div class="emoji_color" style="margin-left: 8px; background-color: rgb(75, 192, 192, 50%);"></div>
<p class="emoji_text">開心</p>
</div>
<div class="emoji">
<img class="emoji_img" src="{% static 'images/moods/ID050-joy.png' %}" srcset="{% static 'images/moods/ID051-joy.png' %} 1x, {% static 'images/moods/ID051-joy@2x.png' %} 2x">
<div class="emoji_color" style="background-color: rgb(54, 162, 235, 50%);"></div>
<p class="emoji_text" style="margin: 0;">超開心</p>
</div>
</div>
</div>
<!-- 折線圖 -->
<div id="chart">
<div class="text" style="text-align: center;">情緒變化</div>
<div id="day_list" style="display: none;">{{ day_list }}</div>
<div id="day_mood" style="display: none;">{{ day_mood }}</div>
<div class="graph" style="width: 340px;">
<canvas id="lineChart" style="width: 340px; height: 205px;"></canvas>
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/showStatistics.js' %}"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
{% endblock %}
```
### UserInform
* EzAnalysis/EmotionDiary/templates/UserInform/
#### editUser.html
```html=
{% extends 'layout.html' %}
{% load static %}
{% block css %}
<link rel="stylesheet" href="{% static 'css/editUser.css' %}">
{% endblock %}
{% block body %}
<form id="userForm" action="" method="post" class="form" enctype="multipart/form-data">
{% csrf_token %}
<div id="ID1">
<div id="_bk">
<div id="banner">
<span>基本資料</span>
</div>
</div>
<div id="content">
<!-- userid, username -->
{{ form.line_id }}
<div id="name">
<div class="text">名字:</div>
{{ form.username }}
</div>
<!-- birthday -->
<div id="birthday">
<div class="text">生日:</div>
{{ form.birth }}
</div>
<!-- gender -->
<div id="gen">
{{ form.gender }}
<div id="gen_btn">
<div id="man">
<button id="G1" name="gender_btn" value="M" type = "button" class = "btn1">
<img class="gen_img" src="{% static 'images/decoration/man.png' %}">
</button>
</div>
<div id="woman">
<button id="G2" name="gender_btn" value="F" type="button" class ="btn1">
<img class="gen_img" src="{% static 'images/decoration/woman.png' %}">
</button>
</div>
</div>
</div>
<!-- job -->
<div id="work">
{{ form.career_id }}
<div id="work_background"></div>
<!-- 職業btn -->
<div id="work_row1">
<!-- 學生 -->
<div id="student">
<button id="C001" name="job_btn" value="C001" type="button" class="btn3" style="background-color: rgba(250,215,179,1);">
<img class="work_img" src="{% static 'images/jobs/ID009-student.png' %}" srcset="{% static 'images/jobs/ID009-student.png' %} 1x, {% static 'images/jobs/ID009-student@2x.png' %} 2x">
</button>
<div class="work_text">學生</div>
</div>
<!-- 服務業 -->
<div id="service">
<button id="C003" name="job_btn" value="C003" type="button" class="btn3" style="background-color: rgba(184,245,255,1);">
<img class="work_img" src="{% static 'images/jobs/ID046-telemarketer.png' %}" srcset="{% static 'images/jobs/ID046-telemarketer.png' %} 1x, {% static 'images/jobs/ID046-telemarketer@2x.png' %} 2x">
</button>
<div class="work_text">服務業</div>
</div>
<!-- 軍公教 -->
<div id="soldier">
<button id="C002" name="job_btn" value="C002" type="button" class="btn3" style="background-color: rgba(198,218,208,1);">
<img class="work_img" src="{% static 'images/jobs/ID030-soldier.png' %}" srcset="{% static 'images/jobs/ID030-soldier.png' %} 1x, {% static 'images/jobs/ID030-soldier@2x.png' %} 2x">
</button>
<div class="work_text">軍公教</div>
</div>
</div>
<div id="work_row2">
<!-- 自由業 -->
<div id="freelance">
<button id="C004" name="job_btn" value="C004" type="button" class="btn3" style="background-color: rgba(147,146,155,1);">
<img class="work_img" src="{% static 'images/jobs/ID019-hacker.png' %}" srcset="{% static 'images/jobs/ID019-hacker.png' %} 1x, {% static 'images/jobs/ID019-hacker@2x.png' %} 2x">
</button>
<div class="work_text">自由業</div>
</div>
<!-- 家管 -->
<div id="home">
<button id="C006" name="job_btn" value="C006" type="button" class="btn3" style="background-color: rgba(251, 219, 231,1);">
<img class="work_img" src="{% static 'images/jobs/ID008-maid.png' %}" srcset="{% static 'images/jobs/ID008-maid.png' %} 1x, {% static 'images/jobs/ID008-maid@2x.png' %} 2x">
</button>
<div class="work_text">家管</div>
</div>
<!-- 工商業 -->
<div id="business">
<button id="C005" name="job_btn" value="C005" type="button" class="btn3" style="background-color: rgba(136,158,170,1);">
<img class="work_img" src="{% static 'images/jobs/ID048-office-worker.png' %}" srcset="{% static 'images/jobs/ID048-office-worker.png' %} 1x, {% static 'images/jobs/ID048-office-worker@2x.png' %} 2x">
</button>
<div class="work_text">工商業</div>
</div>
</div>
<div id="work_row3">
<!-- 退休人員 -->
<div id="retirement">
<button id="C007" name="job_btn" value="C007" type="button" class="btn3" style="background-color: rgba(167,233,212,1);">
<img class="work_img" src="{% static 'images/jobs/ID043-teacher.png' %}" srcset="{% static 'images/jobs/ID043-teacher.png' %} 1x, {% static 'images/jobs/ID043-teacher@2x.png' %} 2x">
</button>
<div class="work_text">退休人員</div>
</div>
<!-- 其他 -->
<div id="other">
<button id="C009" name="job_btn" value="C009" type="button" class="btn3" style="background-color:rgba(255,255,255,1);">
<img class="work_img" src="{% static 'images/jobs/ID035-astronaut.png' %}" srcset="{% static 'images/jobs/ID035-astronaut.png' %} 1x, {% static 'images/jobs/ID035-astronaut@2x.png' %} 2x">
</button>
<div class="work_text">其他</div>
</div>
<!-- 農民漁牧業 -->
<div id="farmer">
<button id="C008" name="job_btn" value="C008" type="button" class="btn3" style="background-color:rgb(255, 252, 203);">
<img class="work_img" src="{% static 'images/jobs/ID001-farmer.png' %}" srcset="{% static 'images/jobs/ID001-farmer.png' %} 1x, {% static 'images/jobs/ID001-farmer@2x.png' %} 2x">
</button>
<div class="work_text">農林漁牧</div>
</div>
</div>
</div>
<!-- button -->
<div id="next">
<div id="next_btn">
<input class="next_btn" type="button" value="完 成" onclick="check(this);">
</div>
</div>
</div>
</div>
</form>
{% endblock %}
{% block js %}
<script src="{% static 'js/editUser.js' %}"></script>
<script src="{% static 'js/jquery-3.3.1.min.js' %}"></script>
{% endblock %}
```
## JS
* EzAnalysis/EmotionDiary/static/js/
### menuDiary.js
```javascript=
// 是否填寫過日記 -> 新增日記
function addDiary(){
var userid = document.getElementById('userid').innerText;
var message = document.getElementById('message').innerText;
if(message){
swal({
title: "您今天已填寫日記過了!",
text: "",
type: "info",
width: 348,
showConfirmButton: true,
});
}else{
window.location.href='../addDiary1/'+ userid;
}
}
// 修改日記
function editDiary(){
var userid = document.getElementById('userid').innerText;
var message = document.getElementById('message').innerText;
if(message == ''){
swal({
title: "您今天還沒填寫日記呦!",
text: "",
type: "info",
width: 348,
showConfirmButton: true,
});
}else{
window.location.href='../editDiary/'+ userid;
}
}
```
### addDiary1.js
```javascript=
window.onload = function(){
getUserDiary();
ShowTime();
emojiSelect(e_id);
}
function getUserDiary(){
if(mood.value != ''){
for(var e=0; e<emoji_block.children.length; e++){
if(e == mood.value-1){
emoji_block.children[e].children[0].className = 'btn2';
}
}
}
if(user_photo.innerText == 'None'){
image.src = '/static/images/decoration/photo-camera.png';
}else{
image.src = '/media/' + user_photo.innerText;
}
}
// 設定時間
function ShowTime(){
today = new Date();
var year = today.getFullYear();
var month = today.getMonth()+1;
var day = today.getDate();
var monthString = ( month < 10)? ('0'+ month) : ('' + month);
var dayString = ( day < 10)? ('0'+ day) : ('' + day);
var hour = today.getHours();
var minute = today.getMinutes();
var second = today.getSeconds();
var hourString = ( hour < 10)? ('0'+ hour) : ('' + hour);
var minString = ( minute < 10)? ('0'+ minute) : ('' + minute);
var secString = ( second < 10)? ('0'+ second) : ('' + second);
var date = year + '/' + monthString + '/' + dayString;
var time = hourString + ':' + minString;
document.getElementById('date').innerText = date;
document.getElementById('time').innerText = time;
document.getElementById('diary_date').value = date + ' ' + time;
}
window.setInterval('ShowTime()',1000);
// 選取心情
var e_id;
function emojiSelect(e_id) {
var arr = document.getElementsByName('emoji_btn');
for(var i=0; i<arr.length; i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn1'){
this.className = 'btn2';
e_id = this.id;
document.getElementById('mood').value = this.value;
var btn = document.getElementsByClassName('btn2');
for(var j=0;j<btn.length;j++){
if(btn[j].id!=e_id){
btn[j].className = 'btn1';
}
}
}
}
}
}
// 上傳照片 & 預覽照片
function readURL(input) {
var preview = document.getElementById('image');
var file = document.getElementById('pic').files[0];
var reader = new FileReader();
reader.addEventListener("load", function () {
preview.src = reader.result;
}, true);
if (file) {
reader.readAsDataURL(file);
}
}
// 是否都填寫完成
function check(){
if(mood.value == ''){
swal({
title: "請選擇表情",
text: "",
type: "error",
width: 348,
});
}else if(image.src == 'http://127.0.0.1:8000/static/images/decoration/photo-camera.png'){
swal({
title: "請上傳臉部表情的照片",
text: "",
type: "error",
width: 348,
});
}
else{
diaryForm1.submit();
}
}
```
### addDiary2.js
```javascript=
window.onload = function(){
getUserThings();
thingSelect(t_id);
}
function getUserThings() {
// Mood
if(mood.innerText == '5'){
var text = '你今天的心情' + '超開心';
var image = '<img id="mood_image" src="' + '/static/images/moods/ID051-joy.png' + '">';
mood_text.innerHTML = text + image;
}else if(mood.innerText == '4'){
var text = '你今天的心情' + '開心';
var image = '<img id="mood_image" src="' + '/static/images/moods/ID051-happy.png' + '">';
mood_text.innerHTML = text + image;
}else if(mood.innerText == '3'){
var text = '你今天的心情' + '普通';
var image = '<img id="mood_image" src="' + '/static/images/moods/ID051-neutral.png' + '">';
mood_text.innerHTML = text + image;
}else if(mood.innerText == '2'){
var text = '你今天的心情' + '難過';
var image = '<img id="mood_image" src="' + '/static/images/moods/ID051-sad.png' + '">';
mood_text.innerHTML = text + image;
}else if(mood.innerText == '1'){
var text = '你今天的心情' + '超難過';
var image = '<img id="mood_image" src="' + '/static/images/moods/ID051-cry.png' + '">';
mood_text.innerHTML = text + image;
}
// Things
var choose=[];
for(var ut=0; ut<user_things.children.length; ut++){
choose.push(user_things.children[ut].id);
document.getElementById('chooseThing').value = choose;
for(var dt=0; dt<default_things.children.length; dt++){
if(default_things.children[dt].id == user_things.children[ut].id){
default_things.children[dt].children[0].className = 'btn2';
}
}
}
}
var t_id=[];
function thingSelect(t_id) {
var arr = document.getElementsByName('thing_btn');
for(var i=0; i<arr.length; i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn1'){
this.className = 'btn2';
}else {
this.className = 'btn1';
}
// 列出所選取事情的id
var choose=[];
var btn = document.getElementsByClassName('btn2');
for (var i=0; i<btn.length; i++) {
choose.push(btn[i].value);
document.getElementById('chooseThing').value = choose;
}
if(choose == ''){
document.getElementById('chooseThing').value = '';
}
}
}
}
function check(){
if(chooseThing.value == ''){
swal({
title: "今天做了什麼事呢?",
text: "",
type: "error",
width: 348,
});
}else{
diaryForm2.submit();
}
}
```
### addDiary3.js
```javascript=
var t_id;
function thingSelect(t_id){
var parent = t_id.parentNode;
// 判斷t_id是for中的哪區塊
for(var i=0; i<parent.children.length; i++){
for(var j=0; j<parent.children.length; j++){
if(parent.children[j].id!=t_id){
parent.children[j].className = 'btn1';
}
}
}
// t_id.class
if(t_id.className == 'btn1'){
t_id.className = 'btn2';
}
// 印出所選取的t_id文字
var text = [];
if(msg_btn.length == undefined){
for(var b=0; b<msg_btn.children.length; b++){
if(msg_btn.children[b].className == 'btn2'){
text.push(msg_btn.children[b].value);
}
}
}else{
for(var l=0; l<msg_btn.length; l++){
for(var b=0; b<msg_btn[l].children.length; b++){
if(msg_btn[l].children[b].className == 'btn2'){
text.push(msg_btn[l].children[b].value);
}
}
}
}
note.value = text;
}
function check(){
swal({
title: "儲存成功",
text: "",
type: "success",
width: 348,
timer: 2000,
showConfirmButton: false,
}).then(function () {
DiaryForm3.submit();
})
}
```
### editDiary.js
```javascript=
window.onload = function(){
setDateTime();
showMood();
emojiSelect(e_id);
showThing();
thingSelect(t_id);
}
// set Date & Time
function setDateTime() {
var diary_date = document.getElementById('diary_date').value;
var split = diary_date.split(' ');
var date = document.getElementById('date_input');
date.value = split[0];
var time = document.getElementById('time_input');
time.value = split[1];
}
// Mood
function showMood() {
var img = document.getElementById('mood_img');
if(mood.value == '5'){
img.src = '/static/images/moods/ID051-joy.png';
img.srcset = '/static/images/moods/ID051-joy.png 1x, /static/images/moods/ID051-joy@2x.png 2x';
}else if(mood.value == '4'){
img.src = '/static/images/moods/ID051-happy.png';
img.srcset = '/static/images/moods/ID051-happy.png 1x, /static/images/moods/ID051-happy@2x.png 2x';
}else if(mood.value == '3'){
img.src = '/static/images/moods/ID051-neutral.png';
img.srcset = '/static/images/moods/ID051-neutral.png 1x, /static/images/moods/ID051-neutral@2x.png 2x';
}else if(mood.value == '2'){
img.src = '/static/images/moods/ID051-sad.png';
img.srcset = '/static/images/moods/ID051-sad.png 1x, /static/images/moods/ID051-sad@2x.png 2x';
}else {
img.src = '/static/images/moods/ID051-cry.png';
img.srcset = '/static/images/moods/ID051-cry.png 1x, /static/images/moods/ID051-cry@2x.png 2x';
}
for(var m=0; m<mood_arr.length; m++){
if(m == mood.value-1){
mood_arr[m].className = 'btn2';
}else{
mood_arr[m].className = 'btn1';
}
}
}
// 選取心情
var e_id;
function emojiSelect(e_id) {
var arr = document.getElementsByName('emoji_btn');
for(var i=0; i<arr.length; i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn1'){
this.className = 'btn2';
e_id = this.id;
var btn = document.getElementsByClassName('btn2');
for(var j=0;j<btn.length;j++){
if(btn[j].id!=e_id){
btn[j].className = 'btn1';
}
}
}
}
}
}
// 彈出小視窗
var mood_arr = document.getElementsByName('emoji_btn');
mood_btn.onclick = function() {
mood_win.style.opacity = 1;
mood_win.style.display = 'block';
showMood();
}
emoji_cancel.onclick = function() {
mood_win.style.opacity = 0;
mood_win.style.display = 'none';
}
emoji_ok.onclick = function() {
mood_win.style.opacity = 0;
mood_win.style.display = 'none';
for(var i=0; i<mood_arr.length; i++){
if(mood_arr[i].className == 'btn2'){
mood.value = mood_arr[i].value;
}
}
showMood();
}
// Thing
// 做了什麼 Thing
function showThing() {
var thing_form = document.getElementById('chooseThing').value;
var things = document.getElementById('thing_btn');
var user_things = document.getElementById('get_user_thing').children;
var default_things = document.getElementById('default_things_btn').children;
// 小視窗預設值 & 顯示使用者選擇Thing
var str='';
if(thing_form == ''){
for(var t=0; t<user_things.length; t++){
for(var dt=0; dt<default_things.length; dt++){
if(default_things[dt].id == user_things[t].id){
default_things[dt].children[0].className = 'btn4';
var img = '<img id="thing_img" src="' + default_things[dt].children[0].children[0].src + '">';
var text = '<div id="thing_value">' + default_things[dt].children[1].innerText + '</div>';
var content = '<div class="_bl">' + img + text + '</div>';
str+=content;
things.innerHTML = str;
}
}
}
}else{
str='';
var split_thing = thing_form.split(',')
for(var st=0; st<split_thing.length; st++){
for(var dt=0; dt<default_things.length; dt++){
if(split_thing[st] == default_things[dt].id){
default_things[dt].children[0].className = 'btn4';
var img = '<img id="thing_img" src="' + default_things[dt].children[0].children[0].src + '">';
var text = '<div id="thing_value">' + default_things[dt].children[1].innerText + '</div>';
var content = '<div class="_bl">' + img + text + '</div>';
str+=content;
things.innerHTML = str;
}
}
}
}
}
var t_id;
function thingSelect(t_id) {
var arr = document.getElementsByName('thing_btn');
for(var i=0; i<arr.length; i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn3'){
this.className = 'btn4';
}else {
this.className = 'btn3';
}
}
}
}
// 彈出小視窗
var thing_arr = document.getElementsByName('thing_btn');
thing_btn.onclick = function() {
thing_win.style.opacity = 1;
thing_win.style.display = 'block';
showThing();
}
thing_cancel.onclick = function() {
thing_win.style.opacity = 0;
thing_win.style.display = 'none';
for(var i=0; i<thing_arr.length; i++){
thing_arr[i].className = 'btn3';
}
}
thing_ok.onclick = function() {
thing_win.style.opacity = 0;
thing_win.style.display = 'none';
var thing=[];
for(var i=0; i<thing_arr.length; i++){
if(thing_arr[i].className == 'btn4'){
thing.push(thing_arr[i].value);
document.getElementById('chooseThing').value = thing;
}
}
showThing();
}
// 上傳照片 & 預覽照片
function readURL(input) {
var preview = document.getElementById('image');
var file = document.getElementById('pic').files[0];
var reader = new FileReader();
reader.addEventListener("load", function () {
preview.src = reader.result;
}, true);
if (file) {
reader.readAsDataURL(file);
}
}
function check(){
var form = document.getElementById('editDiaryForm');
swal("儲存成功", "", "success", {button:"OK"})
.then(function () {
form.submit();
})
}
```
### editUser.js
```javascript=
window.onload = function(){
genderSelect(g_id);
jobSelect(j_id);
}
function check(){
var form = document.getElementById('userForm');
var username = document.getElementById('disname').value;
if(username == 0){
swal("請填寫名字", "", "error");
}
else{
swal("儲存成功", "", "success", {button:"OK"})
.then(() => {
form.submit();
});
}
}
// 選取性別
var g_id;
function genderSelect(g_id) {
var arr = document.getElementsByName('gender_btn');
var user_gen = document.getElementById('gender').value;
if(user_gen == 'M'){
document.getElementsByTagName('button').G1.className='btn2';
}else if(user_gen == 'F'){
document.getElementsByTagName('button').G2.className='btn2';
}
for(var i = 0;i<arr.length;i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn1'){
this.className = 'btn2';
g_id = this.id;
document.getElementById('gender').value = this.value;
var btn = document.getElementsByClassName('btn2');
for(var j=0;j<btn.length;j++){
if(btn[j].id!=g_id){
btn[j].className = 'btn1';
}
}
}
}
}
}
// 選取職業
var j_id;
function jobSelect(j_id){
var arr = document.getElementsByName('job_btn');
var user_job = document.getElementById('job').value;
if(user_job == 'C001'){
document.getElementsByTagName('button').C001.className='btn4';
}else if(user_job == 'C002'){
document.getElementsByTagName('button').C002.className='btn4';
}else if(user_job == 'C003'){
document.getElementsByTagName('button').C003.className='btn4';
}else if(user_job == 'C004'){
document.getElementsByTagName('button').C004.className='btn4';
}else if(user_job == 'C005'){
document.getElementsByTagName('button').C005.className='btn4';
}else if(user_job == 'C006'){
document.getElementsByTagName('button').C006.className='btn4';
}else if(user_job == 'C007'){
document.getElementsByTagName('button').C007.className='btn4';
}else if(user_job == 'C008'){
document.getElementsByTagName('button').C008.className='btn4';
}else if(user_job == 'C009'){
document.getElementsByTagName('button').C009.className='btn4';
}
for(var i = 0;i<arr.length;i++){
arr[i].onclick = function(){
//this是当前激活的按钮,在这里可以写对应的操作
if(this.className == 'btn3'){
this.className = 'btn4';
j_id = this.id;
document.getElementById('job').value = this.value;
var btn = document.getElementsByClassName('btn4');
for(var j=0;j<btn.length;j++){
if(btn[j].id!=j_id){
btn[j].className = 'btn3';
}
}
}
}
}
}
```
### showHistory.js
```javascript=
window.onload = function(){
banner.innerText = title[0].innerText;
getDate();
}
// 今天日期 yyyy-mm-dd
var today = new Date();
var set_year = today.getFullYear();
var m = today.getMonth()+1;
var d = today.getDate();
var set_month = ( m < 10)? ('0'+ m) : ('' + m);
var set_day = ( d < 10)? ('0'+ d) : ('' + d);
today = set_year + '-' + set_month + '-' + set_day;
// 設定選擇日期最多只能選到當天
input_date = today;
// 標題Banner
var title = document.getElementsByClassName('fc-toolbar-title');
document.addEventListener('click', function() {
banner.innerText = title[0].innerText;
});
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var show_month = document.getElementsByClassName('fc-daygrid-day-number');
var pass_month = document.getElementsByClassName('fc-day-other');
var calendar = new FullCalendar.Calendar(calendarEl, {
selectable: true,
// Toolbar
headerToolbar: {
left: 'prev',
center: 'title,today',
right: 'next',
},
// 點選日期時觸發
dateClick: function(info) {
input_date = info.dateStr;
getDate(info);
calendar_backgroundColor(info);
},
// 點選上下個月時觸發
datesSet: function(){
getDate();
},
// 可以選擇多日
// select: function(info) {
// alert('selected ' + info.startStr + ' to ' + info.endStr);
// }
});
calendar.render();
});
var calendar_day = document.getElementsByClassName('fc-day');
// 行事曆背景顏色
function calendar_backgroundColor(info){
for(var cd=0; cd<calendar_day.length; cd++){
if(calendar_day[cd].dataset.date == info.dateStr){
calendar_day[cd].style['backgroundColor'] = 'rgb(89, 140, 179, 0.3)';
}else{
calendar_day[cd].style['backgroundColor'] = 'white';
if(calendar_day[cd].dataset.date == today){
calendar_day[cd].style['backgroundColor'] = 'rgba(255, 220, 40, .15)';
}
}
}
}
function getDate(info){
// 取得星期
var get_date = input_date.split('-');
var weeks = new Date(input_date);
var the_day = weeks.getDay();
var weekday = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
week.innerText = weekday[the_day];
day.innerText = get_date[2];
for(var ud=0; ud<user_diary.children.length; ud++){
var split1 = user_diary.children[ud].children[0].innerText.split(' ');
var replace1 = split1[0].replace('年', ' ').replace('月', ' ').replace('日', '');
var split2 = replace1.split(' ');
// 月如果是1~9月則前面加上0
if(split2[1].length == '1'){
split2[1] = '0' + split2[1];
}
// 日如果是1~9月則前面加上0
if(split2[2].length == '1'){
split2[2] = '0' + split2[2];
}
var ud_date = split2[0] + '-' + split2[1] + '-' + split2[2];
calendar_event(ud, ud_date);
// 如果點選日期與日記日期相同,則顯示日記內容
var str='';
if(input_date == ud_date){
get_id.innerText = user_diary.children[ud].id// diary_id
time.innerText = split1[1]; // 填寫時間[0]
mood.value = user_diary.children[ud].children[1].innerText; // 心情指數[1]
moodImage();
note.innerText = user_diary.children[ud].children[2].innerText; // 備忘錄[2]
for(var dt=0; dt<user_diary.children[ud].children[4].children.length; dt++){ // 做的事情[4]
var things_img = '<img class="user_thing"' + 'src="' + user_diary.children[ud].children[4].children[dt].src + '">';
str+=things_img;
things.innerHTML = str;
};
if(input_date == today){ // 顯示修改日記 btn
revise_btn.style['display'] = 'block';
}else{
revise_btn.style['display'] = 'none';
};
delete_btn.style['display'] = 'block'; // 顯示刪除日記 btn
break;
}else{
get_id.innerText = ''; // diary_id
time.innerText = ''; // date[0]
mood.value = ''; // mood[1]
moodImage();
note.innerText = ''; // note[2]
// pic[3]
str='';
things.innerHTML = str; // [4]
delete_btn.style['display'] = 'none';
}
}
}
function calendar_event(ud, ud_date){
for(var cd=0; cd<calendar_day.length; cd++) {
if(ud_date == calendar_day[cd].dataset.date){
var cal_mood = user_diary.children[ud].children[1].innerText;
if(cal_mood == '5'){
var mood_img = '<img class="cal_mood"' + 'src="' + '/static/images/moods/ID051-joy.png' + '">';
}else if(cal_mood == '4'){
var mood_img = '<img class="cal_mood"' + 'src="' + '/static/images/moods/ID051-happy.png' + '">';
}else if(cal_mood == '3'){
var mood_img = '<img class="cal_mood"' + 'src="' + '/static/images/moods/ID051-neutral.png' + '">';
}else if(cal_mood == '2'){
var mood_img = '<img class="cal_mood"' + 'src="' + '/static/images/moods/ID051-sad.png' + '">';
}else {
var mood_img = '<img class="cal_mood"' + 'src="' + '/static/images/moods/ID051-cry.png' + '">';
}
calendar_day[cd].children[0].children[1].innerHTML = mood_img;
}
}
}
function moodImage(moods){
// 顯示mood圖片
if(mood.value == '5'){
mood.style['display'] = 'block';
mood.src = '/static/images/moods/ID051-joy.png';
mood.srcset = '/static/images/moods/ID051-joy.png 1x, /static/images/moods/ID051-joy@2x.png 2x';
}else if(mood.value == '4'){
mood.style['display'] = 'block';
mood.src = '/static/images/moods/ID051-happy.png';
mood.srcset = '/static/images/moods/ID051-happy.png 1x, /static/images/moods/ID051-happy@2x.png 2x';
}else if(mood.value == '3'){
mood.style['display'] = 'block';
mood.src = '/static/images/moods/ID051-neutral.png';
mood.srcset = '/static/images/moods/ID051-neutral.png 1x, /static/images/moods/ID051-neutral@2x.png 2x';
}else if(mood.value == '2'){
mood.style['display'] = 'block';
mood.src = '/static/images/moods/ID051-sad.png';
mood.srcset = '/static/images/moods/ID051-sad.png 1x, /static/images/moods/ID051-sad@2x.png 2x';
}else if(mood.value =='1') {
mood.style['display'] = 'block';
mood.src = '/static/images/moods/ID051-cry.png';
mood.srcset = '/static/images/moods/ID051-cry.png 1x, /static/images/moods/ID051-cry@2x.png 2x';
}else{
mood.style['display'] = 'none';
}
}
delete_btn.onclick = function() {
swal({
title: "確定要刪除嗎",
type: "warning",
width: 348,
showCancelButton: true,
confirmButtonText: "刪除",
cancelButtonText: "取消",
confirmButtonColor: "#DD6B55",
}).then(function(){
diary_id.value = get_id.innerText;
swal({
title: "删除!",
type: "success",
width: 348,
}).then(function(){
console.log('刪除');
HistoryForm.submit();
});
});
}
revise_btn.onclick = function() {
window.location.href='../editDiary/'+ user_diary.getAttribute('value');
}
```
### showStatistics.js
```javascript=
$(document).ready(function(){
// 圓餅圖
var mood_count = document.getElementById('mood_count').innerText;
var count_ext1 = mood_count.split('[');
var count_ext2 = count_ext1[1].split(']');
var count = count_ext2[0].split(', ');
var pie = document.getElementById('pieChart');
var myChart = new Chart(pie, {
type: 'pie',
data: {
labels: ['超難過', '難過', '普通', '開心', '超開心'],
display: 'true',
datasets: [{
label: 'mood',
data: count,
fill: false,
backgroundColor: ['rgb(255,99,132, 50%)', 'rgb(255,159,64, 50%)', 'rgb(255, 205, 86, 50%)', 'rgb(75, 192, 192, 50%)', 'rgb(54, 162, 235, 50%)'],
hoverOffset: 4,
}],
},
options: {
responsive: true,
plugins: {
legend: false,
tooltip: false,
}
}
});
// 折線圖
// x軸
var day_list = document.getElementById('day_list').innerText;
var list_ext1 = day_list.split('[');
var list_ext2 = list_ext1[1].split(']');
var day = list_ext2[0].split(', ');
// y軸
var day_mood = document.getElementById('day_mood').innerText;
var mood_ext1 = day_mood.split('[');
var mood_ext2 = mood_ext1[1].split(']');
var mood = mood_ext2[0].split(', ');
var line = document.getElementById('lineChart');
var myChart = new Chart(line, {
type: 'line',
data: {
labels: day, // x軸
datasets: [{
yAxisID: 'y',
label: 'mood',
data: mood, // y軸
fill: false,
borderColor: '#4F618F',
backgroundColor: '#4F618F',
}]
},
options: {
responsive: true,
plugins: {
legend: false,
tooltip: false,
},
scales: {
x: {
grid: {
drawBorder: false,
color: function(context) {
return '#FFFFFF';
},
},
},
y: {
suggestedMin: 1,
suggestedMax: 5,
stepSize: 1,
ticks: {
callback: function(val, index, value) {
switch (val) {
case 1:
return '超難過';
case 2:
return '難過';
case 3:
return '普通';
case 4:
return '開心';
case 5:
return '超開心';
}
}
},
grid: {
drawBorder: false,
color: function(context) {
if (context.tick.value == 1) {
return '#FAAD80';
}
else {
return '#262A53';
}
},
},
},
}
}
});
});
```