1
waterlaw 2018-07-17 18:17:14 +08:00 via Android
django 的话有个 urlconfig, 用 requests 好像会丢失请求信息。
|
2
pepesii 2018-07-17 18:21:26 +08:00
你那个是用 class based view 的方式写的,还是 method 的方式;
如果是 methodd 的方式,它的参数不就是 reqeust, 你直接调那个方法就行; 如果是 class based view 的话,好像是 class.view 方法调用,记不得了 |
3
NeverBelieveMe OP @waterlaw requests 请求的话,用起来倒是还没遇到问题,只是觉得不顺心。
|
4
NeverBelieveMe OP @pepesii 直接调用方法,request 参数怎么传呢
|
5
awanabe 2018-07-17 18:48:23 +08:00 via iPhone
路由里面的逻辑就不能抽成一个 util 方法 公共调用么?
为什么一定要在路由层互相调用呢?又不是跳转 |
6
STRRL 2018-07-17 19:03:27 +08:00 via Android
mvc 要分层
|
7
pepesii 2018-07-17 19:37:35 +08:00
@NeverBelieveMe
大概这样 假如你的定义是: @route(xxx): def func1(): # 干点啥 @route(xx): def func2(): return func1(request) |
8
sikariba 2018-07-17 19:43:26 +08:00
直接 redirect 过去里面应该是可以访问 request 上下文的吧
|
10
rogwan 2018-07-17 19:54:22 +08:00
楼主说说实际的应用场景?针对具体情况,应该有解决方案的
|
11
GoLand 2018-07-17 20:10:49 +08:00 via Android
|
12
gemini 2018-07-18 11:39:45 +08:00
|
13
NeverBelieveMe OP @awanabe 我就是想知道有没有这种方式。能抽象出来的事情我也知道的。
|
14
NeverBelieveMe OP @rogwan 我就是想知道有没有这种直接调用另外一个接口的方法。实际场景还没有遇到过这种问题。
|
15
NeverBelieveMe OP |
16
NeverBelieveMe OP @sikariba 上下文我看了一下,没看懂。我再仔细看看。
|
17
NeverBelieveMe OP @gemini 传参的问题不好搞定。
|
18
awanabe 2018-07-19 12:05:30 +08:00
@sikariba
@NeverBelieveMe redirect 怎么可能有 request 上下文... redirect 使用的 http 的 301,302...相当于新的请求...只会带单次请求的数据... 实在不行...就存在 session 里面, 用 session_id 去取数据就行了 |
19
awanabe 2018-07-19 12:07:29 +08:00
@NeverBelieveMe
你这种使用方法有违这个框架的设计理念... 为什么一定要走这条路呢? 上面也有人说..要分层....每一层有自己的理念和作用... 非要违背去做..... 这种深究有点奇怪... |
20
pepesii 2018-07-19 12:28:23 +08:00
@NeverBelieveMe 额,我都说了,是大概,我没有写全而已,你 def 函数的时候肯定是有 request 的参数的嘛,我只是给了大概的伪代码
|
21
frostming 2018-07-19 17:07:50 +08:00
@NeverBelieveMe 不要这样搞,分层是正确的道路。
路由 1 产生一个 json,然后发给路由 2 返回结果 那就应该把这个处理 json 的东西抽出来作一个函数,输入参数为 json,然后路由 1 和路由 2 都去调这个函数 |
22
purensong 2021-03-02 14:58:08 +08:00
@NeverBelieveMe,楼主你用 requests 调用遇到过 starting new HTTP connection ( 1 ):localhost:5000,卡着不动的情况吗,我这也是遇到了访问接口一,在接口一里调用了接口二,两个接口对应 localhost:5000 的不同 path
|