我怎样才能在我的网站上看到翻译

How can I see a translation in my website

我目前正在开发我的网站,这是一个翻译器,您输入一个短语,它就会被翻译成一种发明的语言。

翻译器功能代码如下:

def translator(phrase):
    translation = ""
    for letter in phrase:
        if letter.lower() in "a":
            if letter.isupper:
                translation = translation + "U"
            else:
                translation = translation + "u"
        elif letter.lower() in "t":
            if letter.isupper:
                translation = translation + "A"
            else:
                translation = translation + "a"
        elif letter.lower() in "c":
            if letter.isupper:
                translation = translation + "G"
            else:
                translation = translation + "g"
        elif letter.lower() in "g":
            if letter.isupper:
                translation = translation + "C"
            else:
                translation = translation + "c"
    return translation

但是,我无法在我的网站上显示这个功能,这里是 views.py 中的代码:

from .translate import translator

def translator_view(request):
    
    return render(request,'main/translator.html')

def translated_view(request):
    text = request.GET.get('text')
    print('text:', text)
    translate = translator
    dt = translator.detect(text)
    tr = translated.text
    context = {
        'translated': tr
    }
    return render(request, context, 'main/translated.html')

这是您介绍文本的模板:

<form action="{% url 'translated' %}" method= "get">
    <div class="form-group">
        <center><h2 class = "display-3">TRANSLATE YOUR DNA CHAIN</h2></center>
        <br>
        <br>
        <textarea class="form-control" id="exampleFormControlTextarea1" rows="6"></textarea>
        <br>
        <button type='Submit' class= "btn btn-primary btn-lg btn-block">Translate</button>
    
    </div>   
</form>

这是应该显示翻译的模板。

{% extends "base.html"%}

{% block content%}

<div>
    <center><h2 class="display-4">DNA TRANSLATED SUCCESFULLY INTO</h2></center>
    <br>
    <br>
    <br>
    <h3>
        {{ translated }}
    </h3>
</div>   

{% endblock content%}

为什么要使用 GET 请求我认为最好的办法是使用 POST 请求。

def translated_view(request):
    text = request.POST['text']
    print('text:', text)
    translate = translator
    dt = translator.detect(text)
    tr = translated.text
    context = {
        'translated': tr
    }
    return render(request, context, 'main/translated.html')
<form action="{% url 'translated' %}" method="post">
    <div class="form-group">
        <center><h2 class = "display-3">TRANSLATE YOUR DNA CHAIN</h2></center>
        <br>
        <br>
        <textarea class="form-control" name="text" id="exampleFormControlTextarea1" rows="6"></textarea>
        <br>
        <button type='Submit' class= "btn btn-primary btn-lg btn-block">Translate</button>
    </div>   
</form>

但是如果你真的想使用get request那么你就会出错。您还没有在 textarea 中放置 name 属性,所以在您的情况下它是:

<textarea class="form-control" name="text" id="exampleFormControlTextarea1" rows="6"></textarea>

你认为它是:

text = request.GET.get('text')