首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ListView url上显示CreateView表单

在ListView url上显示CreateView表单
EN

Stack Overflow用户
提问于 2018-06-09 03:06:25
回答 1查看 215关注 0票数 0

我有一个指向url的ListView类。我想在同一个url上有一个CreateView表单,在列表的每个项目的顶部。到目前为止,没有显示任何表单(只显示按钮)。我该怎么做呢?

现在我有了这些类,它们都指向urls.py上的同一个url:

view.py:

代码语言:javascript
复制
class TheList(ListView):
    model = Item
    template_name='item/post_create.html'

class CreatePost(CreateView):
    model = Post
    fields = [ 'post' ]
    template_name_suffix='_create'

更新。现在显示了文本区域,但是提交表单不会保存数据:

代码语言:javascript
复制
class CreatePost(CreateView):
    class PostForm(ModelForm):
        class Meta:
            model = Post
            fields = ['post'] 
            widgets = {
            'post': forms.Textarea()
        }

class TheList(ListView):
    model = Item
    template_name='item/items.html'

    def get_context_data(self, **kwargs):
        context = super(TheList, self).get_context_data(**kwargs)
        context['form'] = CreatePost.PostForm
        return context
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 03:10:01

您可以使用ListViewget_context_data()方法将表单添加到模板的上下文中:

代码语言:javascript
复制
def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['form'] = <your form>
    return context
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50766995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档