【发布时间】: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})
除了表单之外,我还希望能够发送用户正在回复的相关帖子以及与当前帖子相关的所有先前消息(以防用户正在回答)。是否可以在视图中呈现附加信息?
【问题讨论】: