0
如何將DetailView通過url中的'slug'?如何通過url中的'slug'傳遞DetailView?
首先,讓我們來看看我的代碼。
urls.py
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^customer/(?P<slug>[^/]+)/$', customerDetailView.as_view()),
)
views.py
from django.views.generic import DetailView
class customerDetailView(DetailView):
context_object_name = 'customerDetail'
template_name = "customerDetail.html"
allow_empty = True
model = Customer
slug_field = 'name' # 'name' is field of Customer Model
現在,我的代碼是像上面。
我想改變下面的代碼。
urls.py
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'^customer/(?P<slug>[^/]+)/$', customer),
)
views.py
from django.views.generic import DetailView
class customerDetailView(DetailView):
context_object_name = 'customerDetail'
template_name = "customerDetail.html"
allow_empty = True
model = Customer
slug_field = 'name' # 'name' is field of Customer Model
def customer(request, slug):
if request.method == "DELETE":
pass # some code blah blah
elif request.method == "POST"
pass
elif request.method == "GET":
return customerDetailView.as_view(slug=slug)(request) # But this line is not working... just causing error TypeError, customerDetailView() received an invalid keyword 'slug'
如你所知,的DetailView需要 '塞' 或 'PK' ......所以我必須提供 '塞' 到在的DetailView ...但我不知道我該如何實現「塞」 ......
我等待箴言報的你的答案前......
謝謝你!
謝謝!!!!!!!!!!!玩的很開心! – chobo 2013-04-11 02:48:02