gpt4 book ai didi

python - 基于 Django 类的 View - 指向类中特定方法的直接 url

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:13 28 4
gpt4 key购买 nike

我已经使用基于函数的 View 有一段时间了,但直到现在才使用基于类的 View 。我当前的项目需要跨多个 View 的大量通用代码,因此我正在探索基于类的 View ,以便可以使用继承。

我的要求是将 url 定向到类中的特定函数。类似于 django admin 上可以完成的操作。在 Django admin 中,我在从 ModelAdmin 继承的类中使用了 get_urls 方法,将 url 指向类方法。

def get_urls(self):
try:
from django.conf.urls.defaults import patterns, url

urls = super(MyModelAdmin, self).get_urls()

my_urls = patterns('',
url(r'^myurl/(?P<obj_id>\d+)/$',
self.admin_site.admin_view(self.myFunction),
name="my_function"),
)

return my_urls + urls
except Exception, e:
logger.error(e)

方法myFunction简单地调用views.py中的方法并传递请求对象和对象id。我的文档是here

是否可以对基于类的 View 执行类似的操作?到目前为止,从我的搜索中,我找不到任何文档显示可以将函数指针传递给 as_view 方法,就像我们执行 admin_view 方法一样。请指导我或为我指出正确的文档。

最佳答案

由于历史原因,管理 View 与 Django 的其他基于类的 View 非常不同,因此将实现从一个 View 移动到另一个 View 可能会很棘手。

常规 CBV 旨在连接到特定的 url 模式,它们并非旨在将不同的 url 分派(dispatch)到不同的 View ,因此实现 get_urls 方法实际上没有意义。

关于python - 基于 Django 类的 View - 指向类中特定方法的直接 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30917786/

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