Django 创建视图-从模板访问成功url
假设我有:Django 创建视图-从模板访问成功url,django,django-class-based-views,class-based-views,Django,Django Class Based Views,Class Based Views,假设我有: class MyCreate(CreateView): template_name = 'template.html' success_url = reverse_lazy('blabla') form_class = MyForm 假设我想在模板中添加一个back按钮。背面将引导我进入与success\u url相同的页面。我的解决方案是重写MyCreate类中的get\u context\u data,并将{'back':self.get\u succe
class MyCreate(CreateView):
template_name = 'template.html'
success_url = reverse_lazy('blabla')
form_class = MyForm
假设我想在模板中添加一个back
按钮。背面将引导我进入与success\u url
相同的页面。我的解决方案是重写MyCreate
类中的get\u context\u data
,并将{'back':self.get\u success\u url()}
添加到上下文中
这意味着我有更多的CreateView,我必须为这个back
按钮创建一个ContextMixin
。还有其他更简单的解决办法吗?类似于直接在我的模板中访问success\u url
感谢正如我们在的django(1.7)实现中所看到的,我们必须能够从我们的模板访问视图
实例:
def get_context_data(self, **kwargs):
if 'view' not in kwargs:
kwargs['view'] = self
return kwargs
{{ view.get_success_url }}
因此,您可以访问模板中的成功url:
def get_context_data(self, **kwargs):
if 'view' not in kwargs:
kwargs['view'] = self
return kwargs
{{ view.get_success_url }}
在我使用Django 1.10.3的情况下,使其工作的方法如下:
视图:
模板:
{{ view.success_url }}
尝试使用{{view.get\u success\u url}
导致:
AttributeError'NoneType'对象没有属性'\uu dict'
,只有1.6这样的代码。及