您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django基于类的视图:如何将其他参数传递给as_view方法?

Django基于类的视图:如何将其他参数传递给as_view方法?

如果你的URLconf看起来像这样:

url(r'^(?P<slug>[a-zA-Z0-9-]+)/$', MyView.as_view(), name = 'my_named_view')

那么该子弹将在你的视图函数(例如“ get_queryset”)中可用,如下所示:

self.kwargs['slug']

传递给该as_view方法的每个参数都是View类的实例变量。这意味着要添加slug作为参数,你必须在子类中将其创建为实例变量:

# myapp/views.py
from django.views.generic import DetailView

class MyView(DetailView):
    template_name = 'detail.html'
    model = MyModel
    # additional parameters
    slug = None

    def get_object(self, queryset=None):
        return queryset.get(slug=self.slug)

那应该MyView.as_view(slug='hello_world')起作用。

Go 2022/1/1 18:23:54 有444人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶