猿问

如何在我的网站上看到翻译

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


这是翻译器功能的代码:


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%}


尚方宝剑之说
浏览 112回答 1
1回答

梵蒂冈之花

为什么使用 GET 请求我认为最好的办法是使用 POST 请求。def translated_view(request):&nbsp; &nbsp; text = request.POST['text']&nbsp; &nbsp; print('text:', text)&nbsp; &nbsp; translate = translator&nbsp; &nbsp; dt = translator.detect(text)&nbsp; &nbsp; tr = translated.text&nbsp; &nbsp; context = {&nbsp; &nbsp; &nbsp; &nbsp; 'translated': tr&nbsp; &nbsp; }&nbsp; &nbsp; return render(request, context, 'main/translated.html')<form action="{% url 'translated' %}" method="post">&nbsp; &nbsp; <div class="form-group">&nbsp; &nbsp; &nbsp; &nbsp; <center><h2 class = "display-3">TRANSLATE YOUR DNA CHAIN</h2></center>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; <textarea class="form-control" name="text" id="exampleFormControlTextarea1" rows="6"></textarea>&nbsp; &nbsp; &nbsp; &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; <button type='Submit' class= "btn btn-primary btn-lg btn-block">Translate</button>&nbsp; &nbsp; </div>&nbsp; &nbsp;</form>但如果你真的想使用 get 请求,那么你就会出错。您尚未在文本区域中添加名称属性,因此在您的情况下它是:<textarea class="form-control" name="text" id="exampleFormControlTextarea1" rows="6"></textarea>你认为它是:text = request.GET.get('text')
随时随地看视频慕课网APP

相关分类

Python
我要回答