You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Django视图循环输出到终端的同义词数据展示在网页上?

实现网页展示文本单词同义词功能

1. 修改视图函数(view.py)

原代码仅在终端打印结果,我们需要把同义词数据结构化后传递给模板:

def home_view(request):
    synonym_results = []  # 存储要展示到网页的同义词数据
    original_text = ""
    if request.method == "POST":
        original_text = request.POST["translate"]
        translator = Translator() 
        translate_text = translator.translate(original_text, src='auto', dest='en')  
        processed_text = translate_text.text.lower().replace('.', '')
        word_list = processed_text.split()
        
        for word in word_list:
            synonyms = get_some_word_synonyms(word)
            kk_word = translator.translate(word, src='auto', dest='en').text
            if synonyms:
                # 批量翻译同义词并整理成列表
                translated_synonyms = [
                    translator.translate(syn, src='auto', dest='en').text 
                    for syn in synonyms
                ]
                # 将单词和同义词存入结果列表
                synonym_results.append({
                    'word': kk_word,
                    'synonyms': translated_synonyms
                })
    
    # 把数据传给模板渲染
    return render(request, 'index.html', {
        'synonym_results': synonym_results,
        'original_text': original_text
    })

2. 修改模板文件(index.html)

添加输入表单,并通过模板语法循环展示同义词结果:

<!DOCTYPE html>
<html>
<head>
    <title>同义词查询工具</title>
</head>
<body>
    <h1>文本同义词查询</h1>
    <!-- 输入表单 -->
    <form method="POST">
        {% csrf_token %}
        <textarea name="translate" rows="5" cols="80" placeholder="输入要查询的文本...">{{ original_text }}</textarea>
        <br>
        <button type="submit">查询同义词</button>
    </form>

    <!-- 展示查询结果 -->
    {% if synonym_results %}
        <h2>查询结果</h2>
        {% if original_text %}
            <p>{{ original_text }}</p>
        {% endif %}
        {% for item in synonym_results %}
            <p>{{ item.word }}的同义词是:</p>
            <pre>
{% for syn in item.synonyms %}  {{ syn }}
{% endfor %}
            </pre>
        {% endfor %}
    {% endif %}
</body>
</html>

关键说明

  • 视图中新增synonym_results列表,将每个单词及其同义词整理成字典格式,避免终端打印,直接传递给模板。
  • 模板使用Django模板标签循环遍历结果,完全按照你想要的格式展示内容。
  • 表单保留了输入文本的回显,方便用户修改重新查询。

内容的提问来源于stack exchange,提问作者Qal Jagdai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:54:23