gpt4 book ai didi

python - 在基于类的 View 中获得 kwargs 的最佳方法?

转载 作者:行者123 更新时间:2023-11-30 23:31:04 25 4
gpt4 key购买 nike

我有一个基于类的 Django View :

class LocationView(TemplateView):

我在我的 url 调度程序中定义了一个命名参数:

url(r'^locations/(?P<id>\d+)/$', LocationView.as_view(), name="location")

我知道我可以在 get_context_data 这样的类方法中访问我的 id 参数,我可以在其中将 **kwargs 传递给方法本身。但是,我希望能够仅访问类本身内的参数,因为我从 API 中获取了一些数据,这些数据将在整个类的不同方法中以不同的方式使用。有什么办法可以做到这一点吗?

最佳答案

您可以在为基于类的 View 调用dispatch()之后运行的任何方法中执行self.kwargs

如果您正在为模型创建详细 View ,就像您正在做的那样,您可能应该使用基于通用类的 View 之一来为您执行此操作。

为什么不尝试以下方法:

from django.views.generic import DetailView

class LocationView(DetailView):
queryset = LocationModel.objects.all()
template_name = 'location_of_detail_template.html'

然后更新您的 urls.py 文件并将正则表达式组的名称从 id 更改为 pk 以使其自动工作。

关于python - 在基于类的 View 中获得 kwargs 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20180752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com