新しい投稿を作成するための追加ページがあり、現時点で投稿をプレビューするためのリンク (ahref) を追加したいと考えています。投稿をデータベースに保存するためのフォームと送信ボタンが 1 つあります。プレビューには同じフォームを使用する必要があります。「プレビュー」リンクをクリックすると、フォームの値を表示できる「preview.html」にページをリダイレクトする必要があります。
ハマった。このためのアルゴリズムを頭の中で作成することはできません。1 つのページと 1 つのフォームがあります。1 つのビュー (addPost) 。別のテンプレート ファイルを持つ別のビューで、このフォームの値に到達する必要があります。
モデル py には、「titlepreview」と「bodyPreview」という 2 つのフィールドがあります。プレビュー ページでフォームの値を表示します。フォーム データは、これら 2 つのフィールドに書き込む必要があります。
ここにmodels.py:
class Post(models.Model):
owner = models.ForeignKey(User)
title = models.CharField(max_length = 100)
body = models.TextField()
bodyPreview = models.TextField() #preview
titlePreview = models.CharField(max_length=100) # preview
slug = AutoSlugField(populate_from='title',unique=True)
posted = models.DateField(auto_now_add=True)
isdraft = models.BooleanField(default=False)
ここに私の add_post ビューがあります:
@login_required(login_url='/login/')
def add_post(request):
if request.method=="POST":
form = addForm(request.POST)
if form.is_valid():
titleform=form.cleaned_data['title']
bodyform=form.cleaned_data['body']
checkform=form.cleaned_data['isdraft']
owner = request.user
n = Post(title = titleform, body = bodyform, isdraft=checkform, owner=owner)
n.save()
return HttpResponseRedirect('/admin/')
else:
form=addForm()
return render(request,'add.html',{'form':form,})
return render_to_response('add.html',{'form':form,},context_instance=RequestContext(request))
私のaddFormフォーム:
class addForm(forms.Form):
title = forms.CharField(max_length=100,widget=forms.TextInput(attrs={'placeholder':'Buraya Başlık Gelecek',}))
body = forms.CharField(widget=forms.Textarea(attrs={'placeholder':'Buraya Metin Gelecek','rows':'25','cols':'90',}))
isdraft = forms.BooleanField(required=False)
#ispreview = forms.BooleanField(required=False) i just added this line as first step. :)
別のコードが必要な場合; あなたは下にコメントすることができます
ありがとうございました