如何“自动填充”CreateView字段

2024-10-04 11:35:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为Artist的模型,现在我正在为artistdetailview构建一个评论部分。在

我构建了一个名为ArtistComment的模型,创建了一个CreateView,并使用modal div将其添加到DetailView中,这样看起来就更好了。唯一的问题是,当你点击“添加评论”时,模式会同时显示“艺术家”和“评论”字段。艺术家字段是一个下拉菜单,用于选择评论应用于哪个艺术家。我想能够隐藏'艺术家'字段,并有这个自动完成的网页,你遵循'添加评论'链接。在

我已设法使“用户”字段自动完成self.request.user但是每当我尝试self.request.artist_id它使我的模态表显示为空白。谁能帮我指出解决这个问题的正确方向吗?在

在视图.py公司名称:

class ArtistCommentCreate(CreateView):
    model = ArtistComment
    fields = ['artist', 'message',]

    def get_success_url(self):
        return reverse('events:artistdetail', kwargs={'pk': self.object.artist_id})

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super(ArtistCommentCreate, self).form_valid(form)

在网址.py公司名称:

^{pr2}$

在artistdetail.html公司名称:

<a data-toggle="modal" data-target="#artistcommentModal" href="{% url 'events:artistcomment-add' %}">Add A New Comment</a>

<div id="artistcommentModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-body"></div>
        </div>
    </div>
</div>

Tags: 模型selfdivform名称idartistrequest
1条回答
网友
1楼 · 发布于 2024-10-04 11:35:45

要隐藏艺术家字段,请从字段中删除^{{cd1>}。

要在^{cd2>}中获取艺术家,请按以下方式重写url:

  url(r'^(?P<artist>\d+)/artistcomment/add/$', login_required(views.ArtistCommentCreate.as_view()), name='artistcomment-add'),

在您的详细html中:

^{pr2}$

在您的评论视图中,将艺术家pk获取为^{cd3>}

相关问题 更多 >