【问题标题】:render additional information with form in formview django在 formview django 中使用表单呈现附加信息
【发布时间】:2017-03-06 15:08:23
【问题描述】:

我正在为 django 编写一个联系应用程序,用户可以在其中联系另一个回复特定帖子的人。这是我的消息模型:

class Message(models.Model):
    person_src = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    person_dst = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

    replyTo = models.ForeignKey("self", on_delete=models.CASCADE) # reply to another message
    post = models.ForeignKey(Post, on_delete=models.CASCADE)    # posts concerned by the message

    date = models.DateTimeField()
    content = models.CharField(max_length=1000)

这是我的 django 消息表单

class NewMessageForm(forms.ModelForm):
    content = forms.CharField(widget=forms.Textarea)

    class Meta:
        model = Message
        fields = ['content']

以及相关的视图:

class NewMessageFormView(View):
    form_class = NewMessageForm
    template_name = 'messaging/new_message.html'

    #get just displays an empty form
    def get(self, request):
        form = self.form_class(None)
        return render(request, self.template_name, {'form': form})

    def post(self, request):
        form = self.form_class(request.POST)

        if form.is_valid():
            message = form.save(commit=False)
            message.content = request.content
            message.date = datetime.date.today()

            message.save()

            if message is not None:
                return redirect('messages:detail', message.id)

        return render(request, self.template_name, {'form': form})

除了表单之外,我还希望能够发送用户正在回复的相关帖子以及与当前帖子相关的所有先前消息(以防用户正在回答)。是否可以在视图中呈现附加信息?

【问题讨论】:

    标签: python django


    【解决方案1】:

    将其添加到上下文中(表单所在的字典):

        return render(request, self.template_name, {'form': form, 'additional_item_1': additional_item_1_value}) 
    

    使用您使用的密钥在模板中访问它:

    {{ additional_item_1 }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 2021-03-11
      • 2021-10-24
      相关资源
      最近更新 更多