Django:通用详细视图IDView必须使用对象pk或子弹调用

dl8

我正在尝试根据参数中的值使用详细视图。

网址:

url(r'^mousesmall/(?P<name>.*)/$', IDView.as_view()),

看法:

class IDView(DetailView):
    model = RNA
    template_name = "home/details.html"
    def get_context_data(self, **kwargs):
        context = super(IDView, self).get_context_data(**kwargs)
        data = self.kwargs['name']
        context['object'] = RNA.objects.filter(rna_id=data)
        return context

我不确定如何使用对象pk调用视图。

蒂米·奥马奥尼(Timmy O'Mahony)

您需要slug_field在基于类的视图上进行设置,以便它知道您正在考虑将哪个字段作为子段(我认为在您的情况下是rna_id。)slug_url_kwarg在您name用作URLConf值时,还需要在您的情况下进行设置

class IDView(DetailView):
    model = RNA
    template_name = "home/details.html"
    slug_field = 'rna_id'
    slug_url_kwarg = 'name'

get_context_object现在不需要覆盖您还应该给您的网址命名:

url(r'^mousesmall/(?P<name>.*)/$', IDView.as_view(), name="rna_detailview"),

因此更容易在模板中进行反向操作:

{% url 'rna_detailview' name=myobject.rna_id %}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django CBV AttributeError:通用详细信息视图必须使用对象pk或子弹调用

Django:必须使用对象pk或slug调用通用详细视图

通用详细信息视图必须使用对象pk或子弹调用

通用详细信息视图UserProfileDetailView必须使用URLconf中的对象pk或slug调用

异常值:通用详细信息视图TransactionDetailView必须使用对象pk或slug调用

通用详细信息视图PostDetailView必须使用URLconf中的对象pk或slug调用

通用详细信息视图BookDetailView必须使用URLconf中的对象pk或slug调用

AttributeError:通用详细信息视图AddMessageView必须使用URLconf中的对象pk或slug调用

必须使用对象 pk 或 slug 调用 Django 通用详细信息视图,但我的 URL 已经有一个 PK

必须使用视图调用时如何管理PK

Django如何通过UUID而不是PK使用通用视图

Django 1.8 如何通过当前通用详细信息视图的 id 过滤对象

Django 如何在 GCBV 中使用 url pk 值(通用类库视图)

django api使用通用视图删除多个对象

使用Django通用详细信息视图从URL请求传递值

Django:详细和列表视图 URLS - 从视图调用相同的函数?

Django通用视图DeleteView删除意外对象

在通用详细信息视图中使用 if 语句

使用过滤器将对象传递到详细信息视图(Django)

Django:使用slug而不是pk访问通用UpdateView

如何使用Django通用视图过滤表?

Django - 使用通用视图找不到 URL

Django-修改通用详细视图以管理表单并发布数据-Django

当使用新的ViewController更新视图时,UINavigationController必须调用方法

Django url 操作 - 不应根据该对象的属性显示带有 pk / id 的详细信息页面 - 最佳实践

如何在详细视图中用弹头替换pk

如何将详细视图的 pk 传递到表单的 fk

Django视图:在详细视图中获取ListView

使用子弹和基于类的视图时找不到视图