用Django写一段代码,在HTML页面中,粘贴一段文本,如果文本中出现“投诉”、“升级”关键字,则高亮显示
时间: 2024-03-08 15:46:37 浏览: 115
html代码高亮
可以按照以下步骤实现:
1. 在 Django 项目中创建一个视图函数,用于处理 HTTP 请求,并在其中编写逻辑代码。
```python
from django.shortcuts import render
def highlight_view(request):
if request.method == 'POST':
text = request.POST.get('text', '')
keywords = ['投诉', '升级']
for keyword in keywords:
text = text.replace(keyword, '<span style="color: red;">{}</span>'.format(keyword))
return render(request, 'highlight.html', {'text': text})
return render(request, 'highlight.html')
```
2. 在项目中创建一个 HTML 模板文件(例如 `highlight.html`),用于显示页面和接收用户输入的文本。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Highlight Text</title>
</head>
<body>
<form method="post">
{% csrf_token %}
<textarea name="text" rows="10" cols="50">{{ text }}</textarea><br>
<button type="submit">提交</button>
</form>
</body>
</html>
```
在 HTML 模板中使用了一个表单,用户可以在其中输入文本。其中,`{% csrf_token %}` 是用于防止 CSRF 攻击的代码,必须添加到表单中。
3. 在 HTML 模板中使用 Django 模板语言,渲染经过高亮处理的文本。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Highlight Text</title>
</head>
<body>
<form method="post">
{% csrf_token %}
<textarea name="text" rows="10" cols="50">{{ text }}</textarea><br>
<button type="submit">提交</button>
</form>
<hr>
<p>高亮处理后的文本:</p>
<p>{{ text|safe }}</p>
</body>
</html>
```
在 HTML 模板中,使用了 `{{ text|safe }}` 渲染文本。`safe` 过滤器用于告诉 Django,这个字符串可以直接显示在 HTML 页面上,而不需要进行 HTML 转义。这样,就可以显示出带有颜色的关键字了。
注意,这个方法只是一种简单的实现方式,如果需要更复杂的高亮效果,可以考虑使用 JavaScript 库或其他前端框架。
阅读全文