历史记录展示修正
前后端合并以后,历史记录的展示这里存在一些问题需要修正。
- 前端分页框样式修改
前端分页框设置其position属性为absolute。针对当前页面对应的分页框的按钮修改其格式以凸显效果。
{% for num in page.paginator.page_range%}
{% if page.number == num%}
<li><a href="" style="background-color: rgba(136,229,254,0.21);">{{num}}</a></li>
{% else %}
<li><a href={% url "user:artshow" num %}>{{num}}</a></li>
{% endif %}
{% endfor %}
- 返回主页面按钮
前端将返回主页面按钮实现为javascript的函数:
onclick="javascript:history.back(-1)
但前后端合并运行时,该函数返回需要手动刷新页面才能获取参数,因此直接修正为主页面链接的格式:
<a href="http://127.0.0.1:8000/user/index">
点击查看详情
点击查看详情需要获取该条历史记录的系统修正结果和教师修正结果。这里前端实现方式为模态框弹出,获取数据并显示在模态框里通过javascript函数实现,这里需要将系统修正结果和教师修正结果作为参数传递给js函数,实现过程中,这里不能显示数据,在js函数中测试,发现根本没有调用js,系统没有报错。
打开浏览器的开发者工具就可以发现问题:
问题所在正是函数参数中引号匹配出错,导致系统认为参数输入格式错误。经过反复观察测试发现导致匹配的原因是中文很多的标点符号,其本身具有换行的效果,从而导致文本换行,引号匹配出错,解决方法就是在后台将文本换行效果去掉:
for i in art_obj:
if i.sid==sid:
i.revise=str(i.revise).replace('\n', '').replace('\r', '')
i.trevise=str(i.trevise).replace('\n', '').replace('\r', '')
art_list.append(i)
另外,这里历史记录按照时间倒序,先展示最新纠错的文本:
art_list.reverse()