Skip to main content
 首页 » 编程设计

python之使用基于类的(通用) View 在 Django 中重定向

2024年09月07日28Leo_wl

我创建了一个功能性 Django (1.11.5) 系统,由于外键功能,它允许我向 Manufacturer 添加大量自行车。不幸的是,在用户更新自行车信息后,我无法理解如何正确地将用户重定向到 (PrimaryKey) Manufacturer。我的 View 使用基于类的 View 来删除、创建和更新制造商和自行车。

下面我显示了我的应用程序中的 views.py 和 URL.py。

views.py

from django.views.generic.edit import CreateView, UpdateView, DeleteView 
from django.core.urlresolvers import reverse_lazy 
from .models import Manufacturer, Review 
 
 
class ReviewUpdate(UpdateView): 
    model = Bike 
    fields = ['bike_body'] 
    success_url = reverse_lazy('manufacturers:index') 

URLs.py

url(r'bike/(?P<pk>[0-9]+)/$',views.BikeUpdate.as_view(), name="bike-update"), 

请您参考如下方法:

您可以做的是覆盖 View 中的 get_success_url 方法。

class ReviewUpdate(UpdateView): 
    model = Bike 
    fields = ['bike_body'] 
 
    def get_success_url(self): 
        return reverse('the-url-you-want', args=(your_key,)) 

有关最近保存的对象的更多信息可以在 self.kwargs 中找到。