2015-09-05 74 views
0

我想在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) 

,當我嘗試發送郵件,我得到的錯誤:expected string or buffer。但是,當我從管理頁面發送消息時 - 它的工作非常棒。

我必須做什麼?請幫幫我。謝謝。

回答

-1

我的解決辦法是更換sent_date = models.DateTimeField(blank=True, null=True)sent_date = models.DateTimeField(auto_now_add=True)和創造views.py

看來新的對象刪除sent_date=datetime.now,那麻煩的是在不同類型的DateField數據存入models.pydatetime模塊...

相關問題