在Django中从用户向用户发送简单消息
我试图创建一个简单的表单,允许用户在Django中互相发送消息。我的模型如下所示:在Django中从用户向用户发送简单消息,django,django-forms,message,Django,Django Forms,Message,我试图创建一个简单的表单,允许用户在Django中互相发送消息。我的模型如下所示: class Message(models.Model): user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='messages_to') sender = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='message
class Message(models.Model):
user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='messages_to')
sender = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='messages_from')
message = models.TextField(blank=True)
unread = models.BooleanField(default=True)
class MessageForm(forms.ModelForm):
class Meta:
model = Message
fields = ('message',)
我的表格如下所示:
class Message(models.Model):
user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='messages_to')
sender = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='messages_from')
message = models.TextField(blank=True)
unread = models.BooleanField(default=True)
class MessageForm(forms.ModelForm):
class Meta:
model = Message
fields = ('message',)
我想在收件人配置文件页面上显示该表单。我认为我需要在url中包含发件人id,以便django知道邮件来自何处,因此我使用以下url链接到收件人页面:
path('profile/<int:user_id>/<int:sender_id>', ProfileDetailView.as_view(), name='profile_detail')
当前页面和表单呈现正确,但当我在表单中键入消息并单击“发送”时,页面仅刷新并变为空白。django admin中没有记录任何消息对象,我也没有收到任何错误。谁能解释一下为什么我的数据没有被传递到表单中?或者这里还有其他错误吗?我需要将DetailView更改为CreateView,它现在可以工作了