2015-12-31 35 views
0

我遇到了success_url問題,而我的網站看到一個錯誤配置的TemplateResponseMixin需要'template_name'的定義或'get_template_names()'的實現。 這裏是我的views.py:在Django中配置不當--success_url

class CarRentView(SuccessMessageMixin, CreateView): 
    form_class = CarRentForm 
    success_url = reverse_lazy('cars') 
    success_message = "You rent a car" 

我的models.py:

class Rental(models.Model): 
    rentus = models.ForeignKey(User, null=True) 
    rentcar = models.ForeignKey(Car, null=True) 

和forms.py:

類CarRentForm(forms.ModelForm):

class Meta: 
    model = Rental 
    fields = '__all__' 

和我的網址:

url(r'^car/rent$', CarRentView.as_view(), name = 'rent'), 

我想租後用戶會在carsite上看到sucess消息。

+1

請顯示您正在重定向到的'cars'視圖。 – Alasdair

回答

1

後,您重定向到名爲cars的URL。您尚未顯示此視圖,但錯誤消息告訴您,您尚未爲其設置template_name。你應該添加如下內容。

class CarView(...): 
    template_name = 'cars.html' 
0

你需要的模板名稱,成功頁面應顯示:表單成功提交

url(r'^car/rent$', CarRentView.as_view(template_name="success.html"), name = 'rent'),