0

ユーザーが互いにメールを送信できる単純なメッセージング アプリケーションを作成しようとしています。

ここに画像の説明を入力

メッセージを作成して送信することはできますが、下書きとして保存したい場合はどうすればよいですか?

<form method="POST" >{% csrf_token %}
    {{form.recipient}}
     {{form.subject}}
      {{form.message}}
<input type = "submit" value= "send" class="save" />

</form>

<input type = "submit" value= "draft" class="save"/>

私のフォームには、メールを送信するための送信ボタンである単一の送信ボタンがあります。ドラフト機能である保存機能を実装するとします。フォームに保存ボタンも追加する必要があります。views.py でユーザーが選択したオプションを一意に特定するにはどうすればよいですか?

@login_required
def Create(request):
    person = Person.objects.get(user=request.user)
    form = NewMessageForm()
    if request.method =='POST':
        form = NewMessageForm(request.POST)
        if form.is_valid():
            recipient = form.cleaned_data['recipient']
            subject = form.cleaned_data['subject']
            message = form.cleaned_data['message']
            thread = Thread.objects.create(subject=subject,user=request.user)
            recipient = User.objects.get(username=recipient)
            message =     Message.objects.create(user=request.user,recipient=recipient,body=message,thread=thread)
            return HttpResponseRedirect(reverse('world:message'))



    return render(request,'create.html',{'messages':messages,'form':form,'person':person})

フォーム

class NewMessageForm(forms.ModelForm):
    recipient = forms.CharField(required=True,max_length=1)
    message = forms.CharField(widget=forms.Textarea,required=True,max_length=1)


    class Meta:
       model = Thread 
       fields = ('subject',)  

モデル

class Thread(models.Model):
    subject = models.CharField(max_length=100, blank=True)
    user = models.ForeignKey(User)


class Message(models.Model):
    user = models.ForeignKey(User, related_name='sender')
    recipient = models.ForeignKey(User, related_name='recipient')
    created = models.DateTimeField(auto_now_add=True)
    body = models.CharField(max_length=1000)
    read = models.BooleanField(default=False)
    trash = models.BooleanField(default=False)
    sentmessage = models.BooleanField(default=False)
    thread = models.ForeignKey(Thread)
4

1 に答える 1