Добавлено отображение эмоций, ссылок, скорректировано отображение вопросов, добавлен блок публикаций в раздел дневника

This commit is contained in:
mrmur 2022-04-09 16:19:21 +05:00
parent c00724f5e2
commit f4a9954394
6 changed files with 206 additions and 41 deletions

Binary file not shown.

52
main.py
View File

@ -232,6 +232,41 @@ def diary():
db_sess = db_session.create_session()
if current_user.is_authenticated:
posts = db_sess.query(DiaryPost).filter(DiaryPost.author == current_user.id).all()
posts = posts[::-1]
pub_post = db_sess.query(DiaryPost).filter(DiaryPost.author == current_user.id, DiaryPost.public == 1).all()
pub_post = pub_post[::-1]
emotion_pub = []
for i in pub_post:
emotion = {id: i.id,'pos_emot': [], 'nig_emot': [], 'link': []}
if i.pos_emot:
emotion['pos_emot'] = i.pos_emot.split()
else:
emotion['pos_emot'] = None
if i.nig_emot:
emotion['nig_emot'] = i.nig_emot.split()
else:
emotion['nig_emot'] = None
if i.link:
emotion['link'] = i.link.split()
else:
emotion['link'] = None
emotion_pub.append(emotion)
lis_emotion = []
for i in posts:
emotion = {id: i.id,'pos_emot': [], 'nig_emot': [], 'link': []}
if i.pos_emot:
emotion['pos_emot'] = i.pos_emot.split()
else:
emotion['pos_emot'] = None
if i.nig_emot:
emotion['nig_emot'] = i.nig_emot.split()
else:
emotion['nig_emot'] = None
if i.link:
emotion['link'] = i.link.split()
else:
emotion['link'] = None
lis_emotion.append(emotion)
quest = db_sess.query(Answer).filter(Answer.user == current_user.id).all()
days_reg = current_user.data_reg - datetime.date.today()
days_reg = abs(days_reg.days) + 1
@ -242,18 +277,25 @@ def diary():
while len(post_quest) < days_reg:
post_quest.append(
db_sess.query(Quest).filter(Quest.id.notin_([i.id for i in post_quest])).first())
ans = []
for i in post_quest:
ans_id = db_sess.query(Answer).filter(Answer.id_question == i.id and Answer.user == current_user.id).first()
if ans_id:
ans.append(ans_id)
if ans:
ls = [i.id_question for i in ans]
post_quest = post_quest[::-1]
ans = ans[::-1]
ans2 = {}
for i in ans:
ans2[i.id_question] = i
else:
posts = None
return render_template('diary.html', title='moona', my_post=posts, message='', question=post_quest[::-1],
ans=ans[::-1], ls=ls, ln=len(ans))
post_quest = None
ans2 = None
lis_emotion = None
emotion_pub = None
pub_post = None
return render_template('diary.html', title='moona', my_post=posts, message='', question=post_quest,
ans=ans2, emotion=lis_emotion, emotion_pub=emotion_pub, pub_post=pub_post)
@app.route('/logout')

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

View File

@ -17,11 +17,11 @@ text-align: center;
#image {
width: 70%;
}
#all_my_post {
#all_my_post, #all_my_post1 {
margin-left: auto;
margin-right: auto;
}
#my_post {
#my_post, #my_post1 {
text-align: center;
margin-left: auto;
margin-right: auto;
@ -35,7 +35,7 @@ margin-left: auto;
margin-right: auto;
margin-top: 25px;
}
#pub, #private {
.pub, .private {
width: 60%;
height: 10%;
margin-left: auto;
@ -45,17 +45,19 @@ margin-left: auto;
margin-top: 20px;
margin-left: 85%;
}
#edit_btn {
#edit_btn, #edit_btn1 {
background-color: #c5f1ff;
}
#row2 {
width: 35%;
#row2, #row1 {
width: 30%;
}
#row1, #row2, #all_my_question {
display:inline-block;
vertical-align: top;
}
#all_my_question {
width: 30%;
}
#row1 {
width: 35%;
height: -100%;
}
.question, .my_post {
background-color:#7fc3ff;
@ -68,3 +70,11 @@ background-color:#ddefff;
border:2px solid #FFFFFF;
border-radius: 25px;
}
.emot_block {
color: #ffffff;
font-weight: bolder;
}
table {
margin-left: 5%;
width: 100%;
}

View File

@ -11,6 +11,103 @@
</div>
<table>
<td id="row1">
<h1 class="my_post_zag">Публикации</h1>
<div id="all_my_post1">
{% if my_post != [] %}
{% for item in pub_post %}
<div class="card-body" id="my_post1">
<details>
<summary style="color:#ffffff">{% if item.name != None %}
<h2 class="card-title" id="my_post_zag1" style="color:#c5f1ff">{{item.name}}</h2>
{% endif %}
</summary>
{% if item.text != None %}
<strong class="card-text" id="my_text1" style="color:#ffffff">{{item.text}}</strong>
{% endif %}
</details>
{% if emotion_pub[loop.index0]['pos_emot'] != None %}
<div class="pos_emot">
<details>
<summary class="emot_block">
<strong class="emot_block">Позитивные эмоции</strong>
</summary>
<p></p>
{% for item2 in emotion_pub[loop.index0]['pos_emot'] %}
<strong class="alert alert-success" role="alert" style="border-radius: 22px;">{{item2}}</strong>
{% endfor %}
</details>
</div>
<p></p>
{% endif %}
{% if emotion_pub[loop.index0]['nig_emot'] != None %}
<div class="nig_emot">
<details>
<summary class="emot_block">
<strong class="emot_block">Негативные эмоции</strong>
</summary>
<p></p>
{% for item2 in emotion_pub[loop.index0]['nig_emot'] %}
<strong class="alert alert-danger" role="alert" style="border-radius: 22px;">{{item2}}</strong>
{% endfor %}
</details>
</div>
<p></p>
{% endif %}
{% if item.photo != None %}
<p></p>
<div class="photo">
<img width="90%" src="{{ item.photo }}"
style="border-radius: 22px;">
</div>
<p></p>
{% endif %}
{% if emotion_pub[loop.index0]['link'] != None %}
<details>
<summary class="emot_block">
<strong class="emot_block">Ссылки</strong>
</summary>
<p></p>
{% for item2 in emotion_pub[loop.index0]['link'] %}
<div class="link">
<a class="alert alert-light" role="alert" href="{{ item2 }}" style="border-radius: 22px;">Ссылка
{{ loop.index }}</a>
</div>
<p></p>
{% endfor %}
</details>
<p></p>
{% endif %}
{% if item.public == 1 or item.public == 'True' %}
<div style="border-radius: 22px;" class="alert alert-success pub" role="alert">Запись
опубликована
</div>
{% else %}
<div style="border-radius: 22px;" class="alert alert-danger private" role="alert">Запись
приватная
</div>
{% endif %}
<div class="my_author" style="style=position:absolute; width:148px; height:44px; left:255px; -webkit-border-radius:
22px;-moz-border-radius: 22px;border-radius: 22px; border:2px solid #FFFFFF; background-color:#1daff0; top:
98px;"><img src="../{{ current_user.photo }}" width="40" height="40" style="border-radius: 22px">
<strong style="color: #ffffff">{{ current_user.name }}</strong>
</div>
<strong style="color:#ffffff">{{item.date}}</strong>
<div>
<a style="border-radius: 15px;" href="/post/{{ item.id }}" class="btn", id="edit_btn">
Изменить
</a>
<a style="border-radius: 15px;" href="/post_deleted/{{ item.id }}" class="btn btn-danger">
Удалить
</a>
</div>
</div>
{% endfor %}
{% else %}
<div class="bad_centre" style="background-color:#1daff0; border-radius: 22px;color:#ffffff">
<h1 class="hz1">Ничего не нашлось :с</h1>
</div>
{% endif %}
</div>
</td>
<td id="row2">
<h1 class="my_post_zag">Мои мысли</h1>
@ -27,48 +124,64 @@
<strong class="card-text" id="my_text" style="color:#ffffff">{{item.text}}</strong>
{% endif %}
</details>
{% if item.pos_emot != None %}
{% if emotion[loop.index0]['pos_emot'] != None %}
<div class="pos_emot">
{% for item2 in item.pos_emot %}
<strong>{{item2}}</strong>
{% endfor %}
<details>
<summary class="emot_block">
<strong class="emot_block">Позитивные эмоции</strong>
</summary>
<p></p>
{% for item2 in emotion[loop.index0]['pos_emot'] %}
<strong class="alert alert-success" role="alert" style="border-radius: 22px;">{{item2}}</strong>
{% endfor %}
</details>
</div>
<p></p>
{% endif %}
{% if item.nig_emot != None %}
{% if emotion[loop.index0]['nig_emot'] != None %}
<div class="nig_emot">
{% for item2 in item.nig_emot %}
<strong>{{item2}}</strong>
{% endfor %}
</div>
{% endif %}
{% if item.case != None %}
<div class="case">
{% for item2 in item.case %}
<strong>{{item2}}</strong>
{% endfor %}
<details>
<summary class="emot_block">
<strong class="emot_block">Негативные эмоции</strong>
</summary>
<p></p>
{% for item2 in emotion[loop.index0]['nig_emot'] %}
<strong class="alert alert-danger" role="alert" style="border-radius: 22px;">{{item2}}</strong>
{% endfor %}
</details>
</div>
<p></p>
{% endif %}
{% if item.photo != None %}
<p></p>
<div class="photo">
<img width="90%" src="{{ item.photo }}"
style="border-radius: 22px; border:2px solid #FFFFFF;">
style="border-radius: 22px;">
</div>
<p></p>
{% endif %}
{% if item.link != None %}
{% for item2 in item.link %}
<div class="link">
<a href="{{ item2 }}">Ссылка {{ loop.index }}</a>
</div>
{% endfor %}
{% if emotion[loop.index0]['link'] != None %}
<details>
<summary class="emot_block">
<strong class="emot_block">Ссылки</strong>
</summary>
<p></p>
{% for item2 in emotion[loop.index0]['link'] %}
<div class="link">
<a class="alert alert-light" role="alert" href="{{ item2 }}" style="border-radius: 22px;">Ссылка
{{ loop.index }}</a>
</div>
<p></p>
{% endfor %}
</details>
<p></p>
{% endif %}
{% if item.public == 1 or item.public == 'True' %}
<div style="border-radius: 22px;" class="alert alert-success" role="alert" id="pub">Запись
<div style="border-radius: 22px;" class="alert alert-success pub" role="alert">Запись
опубликована
</div>
{% else %}
<div style="border-radius: 22px;" class="alert alert-danger" role="alert" id="ptivate">Запись
<div style="border-radius: 22px;" class="alert alert-danger private" role="alert">Запись
приватная
</div>
{% endif %}
@ -79,7 +192,7 @@
</div>
<strong style="color:#ffffff">{{item.date}}</strong>
<div>
<a style="border-radius: 15px;" href="/post/{{ item.id }}" class="btn" id="edit_btn">
<a style="border-radius: 15px;" href="/post/{{ item.id }}" class="btn" id="edit_btn1">
Изменить
</a>
<a style="border-radius: 15px;" href="/post_deleted/{{ item.id }}" class="btn btn-danger">
@ -101,11 +214,11 @@
<div class="question">
{% for item in question %}
<a href="/answer_quest/{{item.id}}" class="btn">
{% if item.id in ls %}
{% if item.id in ans %}
<div class="is_ans">
<strong>{{item.quest}}</strong>
<div class="alert alert-success" role="alert" style="border-radius: 25px;">Ответ есть</div>
<strong>{{ans[ln - loop.index0].answer}}</strong>
<strong>{{ans[item.id].answer}}</strong>
</div>
{% else %}
<div class="is_ans">