django项目简单调取百度翻译接口的方法

yipeiwu_com7年前Python基础

1,建路由;

2,写方法;

def fanyi(request):
  import requests
  import json
  content = request.POST.get('content')
  try:
    if not content:
      res={'status':1,'info':'未输入查询内容'}
      return HttpResponse(json.dumps(res))
    else:
      headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
      }
      parmas = {'kw': content}
      response = requests.post(url='https://fanyi.baidu.com/sug', params=parmas, headers=headers)
      print(json.loads(response.text)['data'][0]['v'])
      res={'status':0,'info':json.loads(response.text)['data'][0]['v']}
      return HttpResponse(json.dumps(res))
  except:
    res={'status':2,'info':'未查询到结果,请输入正确的内容'}
    return HttpResponse(json.dumps(res))

3,前端页面;form表单提交;

<form method="post" onsubmit="return false" id="form">
     {% csrf_token %}
    <div>
      <button>英汉互译</button>
      <br>
      <textarea name="content" cols="50" rows="10" class="main"></textarea>
      <input type="button" id="onsubmit" value="查询">
    </div>
   </form>

4,触发提交事件和返回结果的的jquery;

<script>
  $('#onsubmit').click(function () {
    console.log(123);
    $.post('/apply/fanyi/',$('#form').serialize(),function (data) {
      if (data['status']==0){
        layer.alert(data['info'], {
           skin: 'layui-layer-molv' //样式类名
           ,closeBtn: 0
          })
      }else{
        layer.alert(data['info'], {
           icon: 1,
           skin: 'layer-ext-moon' //该皮肤由layer.seaning.com友情扩展。关于皮肤的扩展规则,去这里查阅
          })
      }
    },'json')
  })
</script>

5,页面效果;

总结

以上所述是小编给大家介绍的django项目简单调取百度翻译接口的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python使用minimax算法实现五子棋

这是一个命令行环境的五子棋程序。使用了minimax算法。 除了百度各个棋型的打分方式,所有代码皆为本人所撸。本程序结构与之前的井字棋、黑白棋一模一样。 有一点小问题,没时间弄了,就这样...

python 动态生成变量名以及动态获取变量的变量名方法

python 动态生成变量名以及动态获取变量的变量名方法

前言 需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_...

Python中的Socket 与 ScoketServer 通信及遇到问题解决方法

Socket有一个缓冲区,缓冲区是一个流,先进先出,发送和取出的可自定义大小的,如果取出的数据未取完缓冲区,则可能存在数据怠慢。其中【recv(1024)】表示从缓冲区里取最大为1024...

详解Python中的静态方法与类成员方法

前言 因为Python的水平目前一直是处于能用阶段,平时写的脚本使用的Python的写法也比较的简单,没有写过稍微大一点的项目。对Python中的类,类之间的组织关系,整个项目中类之间如...

python+mysql实现简单的web程序

这次要为我的python程序加上数据库,主要是实现从mysql中查询出数据并在页面上显示出来。 首先是mysql的配置文件config.py host="127.0.0.1" use...