前后端不分离项目中,用 templates 和 semantic-ui 实现系统通知页面,页面包括点赞、回复、关注模块
时间: 2023-12-06 21:44:34 浏览: 77
好的,下面是一个示例代码,使用 Flask 框架、Jinja2 模板引擎和 Semantic UI:
```python
# app.py
from flask import Flask, render_template
app = Flask(__name__)
# 假设这里有一些点赞、回复、关注等逻辑处理代码
@app.route('/notifications')
def notifications():
# 这里假设有一个 notifications 列表,包含了所有需要展示的通知信息
notifications = [
{'type': 'like', 'message': '你的帖子收到了一条点赞'},
{'type': 'reply', 'message': '你的帖子收到了一条回复'},
{'type': 'follow', 'message': '有用户关注了你'},
]
return render_template('notifications.html', notifications=notifications)
if __name__ == '__main__':
app.run(debug=True)
```
```html
<!-- notifications.html -->
{% extends 'base.html' %}
{% block content %}
<div class="ui container">
<h1 class="ui header">系统通知</h1>
<div class="ui segments">
{% for notification in notifications %}
<div class="ui segment">
<i class="large {{ notification.type }} icon"></i>
<span>{{ notification.message }}</span>
</div>
{% endfor %}
</div>
</div>
{% endblock %}
```
在这个示例中,我们首先定义了一个 Flask 应用,并在 `/notifications` 路由下处理通知页面的逻辑。在这里我们假设有一些点赞、回复、关注等系统事件,并将这些事件打包成一个 `notifications` 列表返回给模板。
在模板中,我们使用了 Semantic UI 的样式来美化页面,并使用了 Jinja2 的模板语法来遍历通知列表,展示每个通知的类型和信息。需要注意的是,这里的图标类型是根据通知类型来动态指定的,可以根据具体需求进行修改。
阅读全文