网站建设广告方案,湖北建设银行官方网站首页,先建设网站后付款,龙岗区最新通告Python程序设计基础#xff0c;第三方库Django、requests、hashlib、pyttsx3等的使用#xff0c;百度API语音识别业务接口、文本朗读业务接口、翻译业务接口的传入。 01、任务实现步骤
任务描述#xff1a;本任务利用Django框架搭建智能语音识别与翻译平台的后端#xff0…
Python程序设计基础第三方库Django、requests、hashlib、pyttsx3等的使用百度API语音识别业务接口、文本朗读业务接口、翻译业务接口的传入。 01、任务实现步骤
任务描述本任务利用Django框架搭建智能语音识别与翻译平台的后端包括识别、翻译、朗读百度API接口的调用以及平台的所有逻辑。
第一步视图views.py的编写。中英文翻译接口需传入参数如图1所示。 ■图1 百度api翻译接口需传入参数
中英文翻译接口核心代码如下所示。
#编写中英文翻译接口功能函数
def translate(text):appid 20220826001320772secretKey C0jtrN2cmdIzVqIA_nsD # 填写你的密钥#按照pid文档编写接入接口httpClient Nonemyurl /api/trans/vip/translate#翻译样式fromLang auto #选择自动识别语言toLang zh #翻译成中文salt random.randint(32768, 65536)q textsign appid q str(salt) secretKeysign hashlib.md5(sign.encode()).hexdigest()myurl myurl ?appid appid q urllib.parse.quote(q) from fromLang to toLang salt str(salt) sign sign#使用try语句处理异常try:httpClient http.client.HTTPConnection(api.fanyi.baidu.com)httpClient.request(GET, myurl)# response是HTTPResponse对象response httpClient.getresponse()result_all response.read().decode(utf-8)result json.loads(result_all)print(result)res result[trans_result][0][dst]return ressexcept Exception as e:print (e)finally:if httpClient:httpClient.close() 第二步编写路由urls.py。在URL请求和处理该请求的views.py函数之间建立一个对应关系url的核心代码如下所示。 urlpatterns [path(admin/, admin.site.urls),re_path(^voice/(?Ppath.*),serve,{document_root:MEDIA_ROOT}),re_path(r^base/, include( base.urls, namespacebase) ),re_path(r^onto/, include(ontology.urls, namespaceontology)),re_path(r^corpus/, include( corpus.urls, namespacecorpus) ),re_path(r^event/, include(event.urls, namespaceevent)),re_path(r^txtproc/, include( txtproc.urls, namespacetxtproc) ),re_path(r^lexicon/, include(lexicon.urls, namespacelexicon)),re_path(r^phrase/, include(phrase.urls, namespacephrase)),re_path(r^path/, include(path.urls, namespacepath)),re_path(r^nlpapi/, include(nlpapi.urls, namespacenlpapi)),re_path(r^uapi/, include(utils.urls, namespaceuapi)), 第三步settings.py的编写。settings.py用于配置和管理Django项目的管理运维信息settings.py核心代码如下所示。
#调试模式创建工程后初始值为True
DEBUGTrue
#ALLOWED_HOSTS用来设置允许哪些主机访问我们的django后台站点
ALLOWED_HOSTS [*]# 核心代码放在apps上
sys.path.insert(0,os.path.join(BASE_DIR,apps))
INSTALLED_APPS [django.contrib.admin, #内置的后台管理系统django.contrib.auth, #内置的用户认证系统django.contrib.contenttypes, #记录项目中所有model元数据django.contrib.sessions, #用于标识当前访问网站的用户身份记录相关用户信息django.contrib.messages, #massage提示功能django.contrib.staticfiles, #查找静态资源路径voice2voice
]#中间件MIDDLEWARE配置
MIDDLEWARE [django.middleware.security.SecurityMiddleware,django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.contrib.auth.middleware.AuthenticationMiddleware,django.contrib.messages.middleware.MessageMiddleware,django.middleware.clickjacking.XFrameOptionsMiddleware,
]
#指定urls.py(路由)的路径调用v2vservice中的类模块
ROOT_URLCONF aitrans.urls
#模板信息配置
TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates, #定义模板引擎用于识别模板里面的变量和指令DIRS: [os.path.join(BASE_DIR,templates)], #指向模板存放的路径—templates文件夹方便调用index.htm以及更高配置的base.htmAPP_DIRS: True, #是否在App里查找模板文件#用于填充在RequestContext的上下文OPTIONS: {context_processors: [django.template.context_processors.debug,django.template.context_processors.request,django.contrib.auth.context_processors.auth,django.contrib.messages.context_processors.messages,django.template.context_processors.media,],builtins:[django.templatetags.static], #import static tag},},
]WSGI_APPLICATION aitrans.wsgi.application# Database——系统默认分配的数据库部分
DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: os.path 第四步wsgi.py的编写。wsgi为Web服务器网关接口实际上就是一种协议它遵守 WSGI 协议并负责网络通讯部分的实现wsgi.py的代码如下所示。 import os #导入os库
from django.core.wsgi import get_wsgi_application
os.environ.setdefault(DJANGO_SETTINGS_MODULE, aitrans.settings)
application get_wsgi_application() 第五步启动主程序manage.py的编写manage.py如下所示。
import sys
import os
#定义main()函数
def main():#调用settings.pyos.environ.setdefault(DJANGO_SETTINGS_MODULE, aitrans.settings) #处理异常捕获try: from django.core.management import execute_from_command_lineexcept ImportError as exc:raise ImportError(Couldnt import Django. Are you sure its installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?) from excexecute_from_command_line(sys.argv)
#启动主程序
if __name__ __main__:main()