按函数名称的 Django 反向基于类的视图不起作用

Posted

技术标签:

【中文标题】按函数名称的 Django 反向基于类的视图不起作用【英文标题】:Django reverse class based views by function name do not work 【发布时间】:2012-10-23 00:01:33 【问题描述】:

根据 django 文档,viewname 是函数名称或 url 模式名称。但是反转这样的 url 'reverse(MyView.as_view())' 会变成 NoReverseMatch 异常。有没有办法通过函数名来反转基于类的视图?

【问题讨论】:

【参考方案1】:

您可以使用named url patterns,也可以执行以下操作(在您的views.py 中)

my_function = MyView.as_view()

现在反向可以工作:reverse('myviews.my_function')

【讨论】:

这个函数技巧不适用于当前版本的 django,说它“不是有效的视图函数或模式名称” 在 Django v3.1 中我收到了这个错误django.urls.exceptions.NoReverseMatch: Reverse for 'myviews.my_function' not found. 'myviews.my_function' is not a valid view function or pattern name @DataGreed:我希望您注意到您的 cmets 在选择答案后 6 年才出现。在那段时间里可以改变很多。你找到答案了吗?

以上是关于按函数名称的 Django 反向基于类的视图不起作用的主要内容,如果未能解决你的问题,请参考以下文章

基于 Django 类的视图的反向 url

Django 基于类的视图上的 success_url 的反向抱怨循环导入

Django:将字符串参数传递给基于类的视图不起作用

Django 基于类的视图:覆盖表单名称

Django 基于类的视图中的字段派生模板名称

仅在 django 中创建基于更新类的视图时,为我的文件上传使用表单集不起作用