2016-12-28 15 views
0

我已經安裝了django-contact-form,默認url的形式是'contact/'。但是,我已經有自己的聯繫頁面,我們將其稱爲'contact_us/',我希望在'contact_us/'之內包含該表單,使用url並查看我已擁有的'contact_us/'django-contact-form如何在任何模板中使用表單,而不需要新的url?

通常的做法是使用{% extends 'contact_us' %},但如果我這樣做,並刪除我的原始'contact_us/'網址,它會給我一個ReverseError

的方式我想,如果發送的ContactFormView(從django-contact-form)作爲上下文'contact_us/'這將是可能的,但我認爲,因爲每個觀點都有它自己的url這是不可能的。

我想知道一種方法能夠輕鬆地將表單放入任何模板中。可能有一個簡單的方法來做到這一點,我不知道。

回答

0

您可以通過調用從contact_usContactFormView: 1.通過重寫URL

urls.py

from contact_form.views import ContactFormView 
from django.views.generic import TemplateView 

urlpatterns = [ 
# ... other URL patterns for your site ... 
url(r'^contact_us/$', 
    ContactFormView.as_view(), 
    name='contact_form'), 
url(r'^contact_us/sent/$', 
    TemplateView.as_view(template_name='contact_form/contact_form_sent.html'), 
    name='contact_form_sent'), 
] 

2.如果你想定製這個觀點

views.py

from contact_form.views import ContactFormView 

class CustomContactFormView(ContactFormView): 
    # Customize any function that you want to 
    template_name = 'custom_template.html' 

urls.py

from views import CustomContactFormView 

urlpatterns = [ 
# ... other URL patterns for your site ... 
url(r'^contact_us/$', 
    CustomContactFormView.as_view(), 
    name='contact_form'), 
] 
相關問題