我有一個通過POST方法將數據發送到視圖的表單。我的問題是,我不能在deleteview中訪問表單的發佈數據。在歌曲被刪除後,我希望用戶被髮回到歌曲所屬的專輯詳情頁面。是如下所示我的代碼:Django:如何在刪除視圖中使用request.POST
形式(內部album_detail.html):
<form action="{% url 'music:delete-song' pk=song.pk album_id=song.album_id %}" method="POST">
{% csrf_token %}
<input type="hidden" name="album_id" value="{{ song.album_id }}" />
<button type="submit" class="btn btn-danger btn-xs" role="button">Delete</button>
</form>
的urls.py:
#----
app_name = 'music'
urlpatterns = [
#----
url(r'^album/(?P<pk>[0-9]+)/detail/$', views.AlbumDetail.as_view(), name='album-detail'),
url(r'^song/(?P<pk>[0-9]+)/delete/(?P<album_id>[0-9]+)/$', views.SongDelete.as_view(), name='delete-song'),
]
最後的視圖:
class SongDelete(DeleteView):
model = Song
album_id = request.POST.get('album_id')
success_url = reverse_lazy('music:album-detail', kwargs={'pk': album_id})
album_id不能像上面那樣設置。如何將表單中的album_id設置爲發佈數據album_id,以便將用戶發送回相冊詳細信息URL?
剛加入自我要求和它的工作!我還沒有測試@ cutteeth的答案,但我發現這一點很簡單。謝謝你們 –