Django:请求对象属性选项未显示

问题描述 投票:0回答:1
我第一次使用 django。 创建函数视图时,我想查看对象请求的属性(方法等),并且我期望 VSC 将显示 request.option 的所有选项。 但请求对象没有显示任何内容。

我想知道这是否是 django 扩展配置的一部分,以帮助自动完成或显示选项,或者这是正常的事情。

def index(request): print( request.) return HttpResponse("Hello, World!")


我将此代码作为我希望看到的示例,我希望 vsc 将显示一个选项列表来查看请求对象的属性:

def xyz(request): item1 = request.GET['item1'] user = request.user


举例来说,如果我这样做

request.me

,自动完成功能会针对课程请求执行类似的操作:

def index(request): request.(self, *args, **kwargs): return super().(*args, **kwargs)


当然我不想要这个,但我想看到请求对象的选项和自动完成。例如,检查请求是 GET 还是 POST 方法。

我想知道这是否与使用 django 时的 VSC 配置有关,或者是正常行为。

我一直在寻找不同的地方,但我一无所获。 我想知道 vsc 设置中有一些问题需要解决,或者这是正常行为。

django object request
1个回答
0
投票
这是因为 Django 做了太多的元编程,IDE 无法理解。不过,您可以通过以下方式给出提示:

from django.http import HttpRequest def index(request: HttpRequest): # … pass
大多数 IDE 都会明白这是一个 

HttpRequest

 对象,从而有助于自动编译。

但是,Python 是一种非常动态的语言,中间件可以动态添加属性,因此 Python 中的自动完成功能并不是很方便。像 PyCharm 这样的 IDE 有一些版本,它们“注入”Django 知识以使其更有效,但这比分析元编程更多“技巧”。

© www.soinside.com 2019 - 2024. All rights reserved.