Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 应为字符串或缓冲区:私人消息应用程序_Python_Django - Fatal编程技术网

Python 应为字符串或缓冲区:私人消息应用程序

Python 应为字符串或缓冲区:私人消息应用程序,python,django,Python,Django,我正在尝试在django上为我的网站制作私人消息应用程序 Models.py: class Message(models.Model): sender = models.ForeignKey(User, related_name='sender') recipient = models.ForeignKey(User, related_name='recipient') sent_date = models.DateTimeField(blank=True, null=T

我正在尝试在django上为我的网站制作私人消息应用程序

Models.py:

class Message(models.Model):
    sender = models.ForeignKey(User, related_name='sender')
    recipient = models.ForeignKey(User, related_name='recipient')
    sent_date = models.DateTimeField(blank=True, null=True)
    title = models.CharField(max_length=70, default='Без теми', blank=True, null=True)
    body = models.TextField(max_length=10000)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = 'повідомлення'
        verbose_name_plural = 'Повідомлення'
Views.py:

@login_required
def write(request):
    context = {}
    context.update(csrf(request))
    context['form'] = WriteMessage()
    if request.POST:
        write_form = WriteMessage(request.POST)
        if write_form.is_valid():
            cd = write_form.cleaned_data
            if User.objects.filter(username=cd['recipient']).exists():
                message = Message(sender = request.user, recipient=User.objects.get(username = cd['recipient']), title=cd['title'], body=cd['body'], sent_date=datetime.now)
                message.save()
                return redirect('/inbox/')
            else:
                context['errors'] = ["Not found user with this username"]
                return render(request, 'send_message.html', context)
    else:
        return render(request, 'send_message.html', context)
当我尝试发送消息时,我得到一个错误:预期的字符串或缓冲区。但是,当我从管理员页面发送消息时,它工作得很好

我必须做什么?请帮帮我。谢谢。

我的解决方案是替换已发送的\u日期=模型。DateTimeFieldblank=True,对于已发送的\u日期=模型,null=True。DateTimeFieldDauto\u now\u add=True并删除已发送的\u日期=datetime.now,从views.py中创建新对象

看来,问题在于DateField中的不同类型的数据进入models.py和datetime模块