Django 使用 CreateView 添加 Slug

0 投票
1 回答
1070 浏览
提问于 2025-04-18 00:28

有没有办法在Django的CreateView中添加一个slug,这样我就可以在页面的上下文中使用它。例如,我试过这样做:

url(r'^registration/profile/(?P<slug>[\w\-\_]+)/?$', RegistrationView.as_view(),
                           name='registration_profile'),

视图

class RegistrationView(BaseCreateView):
    form_class = AppUserIntroducerCreateForm
    template_name = "registration/register.html"
    slug_url_kwarg = 'slug'


    def get_context_data(self, **kwargs):
        context = super(RegistrationView, self).get_context_data(**kwargs)
        context['slug'] = self.slug.slug
        return context

但是我还是遇到了这个错误:AttributeError: 'RegistrationView' object has no attribute 'slug'

1 个回答

1

这里的“slug”是通过 kwargs 提供的,kwargs 是一个字典。

context['slug'] = kwargs['slug']

撰写回答