Python DetailView中的Get方法将数据传输更改为模板
我想向我的DetailView添加一个get方法,但它不起作用。一旦我添加了get方法,我就失去了与模板上数据的连接Python DetailView中的Get方法将数据传输更改为模板,python,django,python-3.x,Python,Django,Python 3.x,我想向我的DetailView添加一个get方法,但它不起作用。一旦我添加了get方法,我就失去了与模板上数据的连接 #我试图将{{object.field_name}}更改为 #{{post.field_name} #{{object\u list.field\u name} #我写的应用程序内视图: 类PostDetailView(DetailView): 型号=员额 #我在模板中写道: {{object.author} #数据被发送到模板,工作正常 #但是我想在视图中添加一个get/po
#我试图将{{object.field_name}}更改为
#{{post.field_name}
#{{object\u list.field\u name}
#我写的应用程序内视图:
类PostDetailView(DetailView):
型号=员额
#我在模板中写道:
{{object.author}
#数据被发送到模板,工作正常
#但是我想在视图中添加一个get/post:
类PostDetailView(DetailView):
型号=员额
模板名称='blog/post\u detail.html'
def get(自我、请求、*args、**kwargs):
form=HomeForm()
返回呈现(请求,self.template_名称,{'form':form})
#添加get方法后,数据不会在模板上呈现。
如果有人能在我将get方法添加到我的DetailView后帮助我找出为什么数据不能在模板中呈现,那就太好了。我花了一下午/晚上的时间搜索,但现在我的大脑已经崩溃了…请帮帮我。tx-tx 您正在更改上下文数据,并且在更改的上下文数据中没有对象。您可以删除get方法并添加
get\u context\u data
,因此正确的代码如下所示
class PostDetailView(DetailView):
model = Post
template_name = 'blog/post_detail.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
form = HomeForm()
context['form'] = form
return context
您正在更改上下文数据,并且在更改的上下文数据中没有对象。您可以删除get方法并添加
get\u context\u data
,因此正确的代码如下所示
class PostDetailView(DetailView):
model = Post
template_name = 'blog/post_detail.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
form = HomeForm()
context['form'] = form
return context