我在和Django聊天。 但我在发送文本时出现了以下错误
也许我应该把留言和表格联系起来,但是 我不能。 我的代码有什么问题
models.py
class MessageRoom(models.Model):
post = models.ForeignKey(Post, verbose_name='MessageRoom Post', on_delete=models.CASCADE)
inquiry_user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, null=False, related_name='inquiry_user')
def __str__(self):
return str(self.id)
class Message(models.Model):
message = models.CharField(max_length=100)
message_room = models.ForeignKey(MessageRoom, verbose_name='Message', on_delete=models.CASCADE)
def __str__(self):
return str(self.id)
Views.py
class MessageRoomView(LoginRequiredMixin, DetailView):
template_name = 'adopt_animals/pets/message_room.html'
model = MessageRoom
form_class = MessageForm
context_object_name = 'message_room'
success_url = reverse_lazy('adopt_animals:message_room')
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
message_list = Message.objects.all()
context['form'] = MessageForm
for message in message_list:
return context
def post(self, request, **kwargs):
message_room = MessageRoom.objects.filter(id=self.kwargs['pk'],
inquiry_user_id=self.request.user.id)
form = MessageForm(request.POST)
if form.is_valid():
# Try to link message_room_id and message.id
form.message_room_id = self.kwargs['pk']
form.save()
else:
print(form.errors)
return redirect('adopt_animals:message_room', pk=message_room[0].id)
forms.py
class MessageForm(forms.ModelForm):
message = forms.CharField(label='message', required=True)
class Meta:
model = Message
fields = [
'message',
]
message_room.html
<form action="{% url 'adopt_animals:message_room' message_room.id %}" method="POST">
{% csrf_token %}
{{ form.errors }}
<div class="send-msg">
{{ form.message }}
<button class="btn btn-warning" type="submit">Send</button>
</div>
</form>
目前没有回答
相关问题 更多 >
编程相关推荐