私は現在、私のユーザーから記入しています。そこから、サイト管理者はフォームを承認または却下する必要があります。これらのエントリをすばやく承認または却下したいと思います。ここでは、ユーザがそれを提出し、関連するmodels.py
クエリーセットを更新して同じページに留まる
class MyModel(models.Model):
STATUS_CHOICES = (
('Submitted', 'Submitted'),
('Approved', 'Approved'),
('Declined', 'Declined'),
)
user= models.ForeignKey(UserProfile)
status = models.CharField(max_length=55, choices=STATUS_CHOICES, default='Submitted')
したら、私はMyModel.statusが提出されたすべてのインスタンスを一覧表示ビューを持っています。私が何をしたいか
# views.py
@staff_member_required
def approve(request, id):
MyModel.objects.filter(id=id).update(status="Approved")
#urls.py
url(r'^review/approve/(?P<id>[\w\-]+)/$', views.approve),
は、私は、フォームを承認し、受け入れられたオブジェクトが消えてい、とすることにクリックできるボタンがあります:ここでviews.py
@staff_member_required
def review(request):
pending = MyModel.objects.filter(status="Submitted")
最後に私が承認する見解を持っているということです受け入れるためにボタンをクリックしてから、ページをリフレッシュして、次のページのために同じことをする必要はありません。どのように私はこれを達成することができますか?
テンプレートの3つのボタンを作る - >クリックすると間違ったものをクリックしていないことを確認する 'alert()' - 最終的なボタンがクリックされた '警告'の中で - > Ajax呼び出しを送る。リロードする必要はありません! ユーザーが投稿したコンテンツを表示するには、単純な「コンテンツ」ボタンを実行します。クリックすると、データが入ったモーダルが開きます。 Ajaxでも実行できます(送信されたデータの量によります) – hansTheFranz