找回密码
 立即注册

QQ登录

只需一步,快速开始

老秋

金牌服务用户

83

主题

234

帖子

2321

积分

金牌服务用户

积分
2321

微信认证勋章

老秋
金牌服务用户   /  发表于:2021-10-21 09:55  /   查看:1679  /  回复:8
100金币
正在学习python 的Django框架,遇到个问题需要帮忙。
使用Django框架搭建了一个web server,这个web server和活字格服务器在同一台服务器上,例如这个服务器的内网ip地址是192.168.1.111;活字格使用的是80端口;web server使用的是8000端口。
想通过活字格的“发送HTTP请求命令”将一个字符串发送给web server,然后在web server接收到这个字符串,经过处理后再返回给活字格前端一个字符串。需求就是这样,但中间涉及到一些命令代码及设置不会用,能否有大神帮忙做一个demo,万分感谢!

最佳答案

查看完整内容

好家伙,你这个任务100金币估计没人能搞定,100RMB都未必能解决。 我之前用过django,给你个思路吧,供参考: 首先,这里不建议使用原生django,第一是过于原始、粗糙,什么都得自己来。比如各种功能类、视图、模板逻辑都得自己写,各种exception也得想好怎么抛和接。 建议了解下DRF(django restful framework),是django的可复用框架,已经把很多基础逻辑写好了,代码量在django的基础上减少50%以上; 根据你的想法, ...

8 个回复

倒序浏览
最佳答案
最佳答案
孤狼悬赏达人认证 活字格认证
高级会员   /  发表于:2021-10-21 09:55:21
来自 4#
本帖最后由 孤狼 于 2021-10-21 11:05 编辑

好家伙,你这个任务100金币估计没人能搞定,100RMB都未必能解决。

我之前用过django,给你个思路吧,供参考:

首先,这里不建议使用原生django,第一是过于原始、粗糙,什么都得自己来。比如各种功能类、视图、模板逻辑都得自己写,各种exception也得想好怎么抛和接。
建议了解下DRF(django restful framework),是django的可复用框架,已经把很多基础逻辑写好了,代码量在django的基础上减少50%以上;

根据你的想法,如果是偏重“http请求”这个需求,建议尝试fastapi,也是python下的,近年新秀,开发速度快、难度低,天生为了发送和传递网络请求、定制api而生。现在fastapi、django/DRF、flask已形成三分天下的局势,django逐渐式微,fastapi渐强;

活字格的发送http请求属于管杀不管埋,发出去就完事了,能不能接到、怎么接、怎么返回值需要你用自己的工具处理。DRF里通常是写个类处理各种返回值。如果只是用于处理“接收一个http请求,然后根据条件返回某个值”,那么在python的基础下首选fastapi,其次是DRF,再者是flask,最后才是原生django。

如果活字格和DRF部署在一台服务器上还好,如果是不同的服务器,还要考虑django/DRF的跨域处理(CSRF问题等),这个你到时候还需要好好搜索下。

我想到的方法和思路大概就这些,如果感觉有帮助,就选我为最佳答案吧,谢谢
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-10-21 10:21:12
2#
您好,可以看下这个帖子,我们用了活字格加了一个服务端命令,模拟外部的api来掉,
http请求数组传参
https://gcdn.grapecity.com.cn/fo ... 6&fromuid=60953
(出处: 葡萄城产品技术社区)
这边也有http请求的视频教程推荐给您
大致【59分30秒】左右开始讲解
【已结束】活字格6.0 Update1 新版本功能
https://gcdn.grapecity.com.cn/fo ... 7&fromuid=60953
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-10-21 10:29:04
3#
这个需求太模糊了咋做呀

我就用笨理琢磨啊,这跟80不80端口没关系

diango 是不知道他访问的是谁的,django 只知道接口的名字,至于接口后面是用什么开发的 django 并不关心,也关心不着

反过来也一样,活字格也不关心那个 http 的 web API 是用什么开发的

然后,是不是 django 就向外界暴露出了一个接口来了?这个接口就是活字格 http请求命令中的那个地址,然后你看 django 暴露出来的这个接口要不要传参数,是挂在头上的还是挂在腰上的,是get还是post,就在 http 请求命令中填去就好了

调用django的接口后,django 处理后,有没有返回值?如果有,那就在 http请求命令那儿设置返回值,拿一个参数接着别掉地上就行了,然后把接回来的这个返回值给页面就行
回复 使用道具 举报
swejet悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-10-21 11:23:44
5#
楼上正解,不过咱说句公道话啊,http请求调api谁干都是管杀不管埋,这属于肉包子打狗,能不能回来全看狗,这可不是只有活字格才这样,是大家都这样

另外再补充一个,除了drf 和 fastapi ,还有一个graphQL可选,不过 GraphQL 可能稍稍有点儿坑
回复 使用道具 举报
老秋
金牌服务用户   /  发表于:2021-10-21 11:52:26
6#
谢谢,楼上大神!!
其实我想问的就是在活字格用“发送HTTP请求命令”发送一个字符串后,在python中如何能接收到这个字符串,也就是具体的语句是什么?
然后在python中使用什么语句能让活字格接收到python response 过来的数据,这样活字格和python之间的数据连接就算打通了
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-10-21 12:05:58
7#
老秋 发表于 2021-10-21 11:52
谢谢,楼上大神!!
其实我想问的就是在活字格用“发送HTTP请求命令”发送一个字符串后,在python中如何能 ...

老板,http请求是行业的统一标准,具体python我们也不是特别清楚,这个活字格也没有什么特别的限制,只需要写一个通用的就可以了。
关于python写接口并返回数据给您百度了几个教程.希望能帮助到您
python实现http接口测试:https://www.cnblogs.com/zzzao/p/9179578.html
如何基于Python + requests实现发送HTTP请求:http://www.cppcns.com/jiaoben/python/298329.html
回复 使用道具 举报
老秋
金牌服务用户   /  发表于:2021-10-21 14:39:35
8#
十分感谢,改到学习fastAPI了,谢谢!!
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-10-21 15:40:51
9#
老秋 发表于 2021-10-21 14:39
十分感谢,改到学习fastAPI了,谢谢!!

不客气哈,感谢大家对活字格的支持。
后面有问题,欢迎继续发新帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部