Python【算法中心 01】Web框架Django入门(安装+项目创建+应用创建+服务启动)Python搭建算法中心后台实例分享
Django 官網(wǎng) 有詳細(xì)的使用說明,這里只做簡單記錄。
1.起因
Java 項目用到了 Python 的類庫,使用jython-standalone在 idea 里可以調(diào)用,但是部署時模塊無法找到,所以萌生了用 Python 搭建算法中心的想法。
2.使用
2.1 環(huán)境說明
[root@aliyun ~]# python3 Python 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)] on linux[root@aliyun ~]# pip3 -V pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)2.2 安裝使用
命令行里的 project_name 和 application_name 根據(jù)項目實際需求進(jìn)行自定義。
# 1. 安裝 Django pip3 install Django==3.2.12 # 2. 創(chuàng)建項目 Project django-admin startproject project_name # 3. 創(chuàng)建應(yīng)用 Application {project_name 目錄下} python3 manage.py startapp application_name # 4. 啟動項目 python3 manage.py runserver host:port # 5. 訪問應(yīng)用 # host:port/application_name2.3 實例分享
由內(nèi) application 而外 project 進(jìn)行文件的修改,首先修改 application_name 目錄下的文件:
1?? urls.py 添加接口請求路徑
urlpatterns = [path('', views.index, name='index'),# 添加接口請求路徑path('guessGenderByName', views.guess_gender_by_name, name='guess_gender_by_name'), ]2?? views.py 添加接口方法實現(xiàn)
@csrf_exempt def guess_gender_by_name(request):req = json.loads(request.body.decode())flag_ = req['flag']res = ngender.guess(req['name'])if flag_ == 0 or flag_ == 1:res = res[flag_]else:res = ','.join(str(item) for item in res)return HttpResponse(res)修改 project_name 目錄下的文件:
1?? settings.py 添加允許的主機 host,否則報錯:Invalid HTTP_HOST header: 'hostName:8087'. You may need to add 'hostName' to ALLOWED_HOSTS.
# 僅添加部署服務(wù)器的IP即可 ALLOWED_HOSTS = ['hostName'] # 也可以放行所有 ALLOWED_HOSTS = ['*']2?? urls.py 將應(yīng)用 application_name 的請求路徑添加到項目project_name內(nèi)
urlpatterns = [path('application_name/', include('application_name.urls')),path('admin/', admin.site.urls), ]接口的完整路徑為host:port/application_name/guessGenderByName
2.4 接口調(diào)試
以下是 Java 通過 FeignClient 調(diào)用算法中心 guessGenderByName 方法代碼:
// 請求對象封裝 @Data @ApiModel(value = "通過姓名獲取性別信息請求對象", description = "通過姓名獲取性別信息請求對象封裝") @Builder public class GuessGenderServiceReq {private String name;private int flag; }// Feign接口調(diào)用 @FeignClient(name = "AlgorithmCenterInterface", url = "${algorithm-center-service.url}:${algorithm-center-service.port}") public interface RemoteAlgorithmCenterService {/*** 根據(jù)姓名獲取性別及姓名男性化女性化程度** @param req 中文姓名 和 flag 0 gender 1 prob other is all* @return 性別及可能性*/@PostMapping("/application_name/guessGenderByName")String guessGenderByName(GuessGenderServiceReq req);}// 調(diào)用方法 algorithmCenterService.guessGenderByName(GuessGenderServiceReq.builder().name(name).flag(0).build());使用 Postman 調(diào)用接口測試結(jié)果:
3.總結(jié)
僅作簡單起步。
總結(jié)
以上是生活随笔為你收集整理的Python【算法中心 01】Web框架Django入门(安装+项目创建+应用创建+服务启动)Python搭建算法中心后台实例分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java代码】Java版本的NGend
- 下一篇: Python【算法中心 02】Web框架